<!DOCTYPE html>
<html lang="en-US" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>linux常用 | Wing's Note</title>
    <meta name="description" content="前端">
    <meta name="generator" content="VitePress v1.6.1">
    <link rel="preload stylesheet" href="/assets/style.CZ3yOroj.css" as="style">
    <link rel="preload stylesheet" href="/vp-icons.css" as="style">
    
    <script type="module" src="/assets/app.QwkrRvid.js"></script>
    <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
    <link rel="modulepreload" href="/assets/chunks/theme.CiJOnvYt.js">
    <link rel="modulepreload" href="/assets/chunks/framework.CAfG9jOB.js">
    <link rel="modulepreload" href="/assets/src_前端_Server_linux常用.md.C-ynQ-iq.lean.js">
    <link rel="icon" href="/favicon.ico">
    <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
    <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-59b6aa09><!--[--><!--]--><!--[--><span tabindex="-1" data-v-e822a5b1></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-e822a5b1>Skip to content</a><!--]--><!----><header class="VPNav" data-v-59b6aa09 data-v-e1424a3f><div class="VPNavBar" data-v-e1424a3f data-v-1a90bd4c><div class="wrapper" data-v-1a90bd4c><div class="container" data-v-1a90bd4c><div class="title" data-v-1a90bd4c><div class="VPNavBarTitle has-sidebar" data-v-1a90bd4c data-v-8fc6d704><a class="title" href="/" data-v-8fc6d704><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.png" alt data-v-40f4ff36><!--]--><span data-v-8fc6d704>Wing&#39;s Note</span><!--[--><!--]--></a></div></div><div class="content" data-v-1a90bd4c><div class="content-body" data-v-1a90bd4c><!--[--><!--]--><div class="VPNavBarSearch search" data-v-1a90bd4c><!--[--><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-1a90bd4c data-v-07b13de5><span id="main-nav-aria-label" class="visually-hidden" data-v-07b13de5> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/src/前端/Vue/" tabindex="0" data-v-07b13de5 data-v-9b82e68b><!--[--><span data-v-9b82e68b>Vue</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/src/前端/Typescript/" tabindex="0" data-v-07b13de5 data-v-9b82e68b><!--[--><span data-v-9b82e68b>Typescript</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/src/前端/Javascript/" tabindex="0" data-v-07b13de5 data-v-9b82e68b><!--[--><span data-v-9b82e68b>Javascript</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/src/前端/html5/" tabindex="0" data-v-07b13de5 data-v-9b82e68b><!--[--><span data-v-9b82e68b>html5</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup active" data-v-07b13de5 data-v-7470aee4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-7470aee4><span class="text" data-v-7470aee4><!----><span data-v-7470aee4>前端</span><span class="vpi-chevron-down text-icon" data-v-7470aee4></span></span></button><div class="menu" data-v-7470aee4><div class="VPMenu" data-v-7470aee4 data-v-54402249><div class="items" data-v-54402249><!--[--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/Electron/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>Electron</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/Javascript/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>Javascript</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/Nextjs/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>Nextjs</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/React/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>React</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link active" href="/src/前端/Server/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>Server</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/Typescript/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>Typescript</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/Vue/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>Vue</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/Webpack/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>Webpack</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/es6/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>es6</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/html5/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>html5</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/%E5%89%8D%E7%AB%AF/index.html" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>index</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/jQuery/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>jQuery</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/mini-programe/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>mini-programe</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/node/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>node</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/other-note/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>other-note</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-54402249 data-v-a5b6c2ee><a class="VPLink link" href="/src/前端/react-native/" data-v-a5b6c2ee><!--[--><span data-v-a5b6c2ee>react-native</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-1a90bd4c data-v-f0ccd3bb><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-f0ccd3bb data-v-6485e66b data-v-5742d831><span class="check" data-v-5742d831><span class="icon" data-v-5742d831><!--[--><span class="vpi-sun sun" data-v-6485e66b></span><span class="vpi-moon moon" data-v-6485e66b></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-1a90bd4c data-v-3b261a8f data-v-fe1cd911><!--[--><a class="VPSocialLink no-icon" href="https://gitee.com/lwj-wing" aria-label="github" target="_blank" rel="noopener" data-v-fe1cd911 data-v-cf86f55c><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-1a90bd4c data-v-9782c2c2 data-v-7470aee4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-7470aee4><span class="vpi-more-horizontal icon" data-v-7470aee4></span></button><div class="menu" data-v-7470aee4><div class="VPMenu" data-v-7470aee4 data-v-54402249><!----><!--[--><!--[--><!----><div class="group" data-v-9782c2c2><div class="item appearance" data-v-9782c2c2><p class="label" data-v-9782c2c2>Appearance</p><div class="appearance-action" data-v-9782c2c2><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-9782c2c2 data-v-6485e66b data-v-5742d831><span class="check" data-v-5742d831><span class="icon" data-v-5742d831><!--[--><span class="vpi-sun sun" data-v-6485e66b></span><span class="vpi-moon moon" data-v-6485e66b></span><!--]--></span></span></button></div></div></div><div class="group" data-v-9782c2c2><div class="item social-links" data-v-9782c2c2><div class="VPSocialLinks social-links-list" data-v-9782c2c2 data-v-fe1cd911><!--[--><a class="VPSocialLink no-icon" href="https://gitee.com/lwj-wing" aria-label="github" target="_blank" rel="noopener" data-v-fe1cd911 data-v-cf86f55c><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-1a90bd4c data-v-6b7178ab><span class="container" data-v-6b7178ab><span class="top" data-v-6b7178ab></span><span class="middle" data-v-6b7178ab></span><span class="bottom" data-v-6b7178ab></span></span></button></div></div></div></div><div class="divider" data-v-1a90bd4c><div class="divider-line" data-v-1a90bd4c></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-59b6aa09 data-v-0f0712aa><div class="container" data-v-0f0712aa><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-0f0712aa><span class="vpi-align-left menu-icon" data-v-0f0712aa></span><span class="menu-text" data-v-0f0712aa>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-0f0712aa data-v-efa4bc9c><button data-v-efa4bc9c>回到顶部</button><!----></div></div></div><aside class="VPSidebar" data-v-59b6aa09 data-v-49277fb6><div class="curtain" data-v-49277fb6></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-49277fb6><span class="visually-hidden" id="sidebar-aria-label" data-v-49277fb6> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-401c7c95><section class="VPSidebarItem level-0 has-active" data-v-401c7c95 data-v-a16ab31a><!----><div class="items" data-v-a16ab31a><!--[--><div class="VPSidebarItem level-1 is-link" data-v-a16ab31a data-v-a16ab31a><div class="item" data-v-a16ab31a><div class="indicator" data-v-a16ab31a></div><a class="VPLink link link" href="/src/%E5%89%8D%E7%AB%AF/Server/linux-01%20%E7%B3%BB%E7%BB%9F%E7%9F%A5%E8%AF%86.html" data-v-a16ab31a><!--[--><p class="text" data-v-a16ab31a>linux-01 系统知识</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a16ab31a data-v-a16ab31a><div class="item" data-v-a16ab31a><div class="indicator" data-v-a16ab31a></div><a class="VPLink link link" href="/src/%E5%89%8D%E7%AB%AF/Server/linux-02%20%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C.html" data-v-a16ab31a><!--[--><p class="text" data-v-a16ab31a>linux-02 基本操作</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a16ab31a data-v-a16ab31a><div class="item" data-v-a16ab31a><div class="indicator" data-v-a16ab31a></div><a class="VPLink link link" href="/src/%E5%89%8D%E7%AB%AF/Server/linux-03%20%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C.html" data-v-a16ab31a><!--[--><p class="text" data-v-a16ab31a>linux-03 文件操作</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a16ab31a data-v-a16ab31a><div class="item" data-v-a16ab31a><div class="indicator" data-v-a16ab31a></div><a class="VPLink link link" href="/src/%E5%89%8D%E7%AB%AF/Server/linux-04%20vim%E7%BC%96%E8%BE%91%E5%99%A8.html" data-v-a16ab31a><!--[--><p class="text" data-v-a16ab31a>linux-04 vim编辑器</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a16ab31a data-v-a16ab31a><div class="item" data-v-a16ab31a><div class="indicator" data-v-a16ab31a></div><a class="VPLink link link" href="/src/%E5%89%8D%E7%AB%AF/Server/linux-05%20%E5%9F%BA%E6%9C%AC%E7%AE%A1%E7%90%86.html" data-v-a16ab31a><!--[--><p class="text" data-v-a16ab31a>linux-05 基本管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a16ab31a data-v-a16ab31a><div class="item" data-v-a16ab31a><div class="indicator" data-v-a16ab31a></div><a class="VPLink link link" href="/src/%E5%89%8D%E7%AB%AF/Server/linux-06%20shell%E5%9F%BA%E7%A1%80.html" data-v-a16ab31a><!--[--><p class="text" data-v-a16ab31a>linux-06 shell基础</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a16ab31a data-v-a16ab31a><div class="item" data-v-a16ab31a><div class="indicator" data-v-a16ab31a></div><a class="VPLink link link" href="/src/%E5%89%8D%E7%AB%AF/Server/linux-07%20shell%E8%AF%AD%E5%8F%A5.html" data-v-a16ab31a><!--[--><p class="text" data-v-a16ab31a>linux-07 shell语句</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a16ab31a data-v-a16ab31a><div class="item" data-v-a16ab31a><div class="indicator" data-v-a16ab31a></div><a class="VPLink link link" href="/src/%E5%89%8D%E7%AB%AF/Server/linux%E5%B8%B8%E7%94%A8.html" data-v-a16ab31a><!--[--><p class="text" data-v-a16ab31a>linux常用</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a16ab31a data-v-a16ab31a><div class="item" data-v-a16ab31a><div class="indicator" data-v-a16ab31a></div><a class="VPLink link link" href="/src/%E5%89%8D%E7%AB%AF/Server/nginx%E9%85%8D%E7%BD%AE.html" data-v-a16ab31a><!--[--><p class="text" data-v-a16ab31a>nginx配置</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a16ab31a data-v-a16ab31a><div class="item" data-v-a16ab31a><div class="indicator" data-v-a16ab31a></div><a class="VPLink link link" href="/src/%E5%89%8D%E7%AB%AF/Server/ubuntu%E6%95%99%E7%A8%8B.html" data-v-a16ab31a><!--[--><p class="text" data-v-a16ab31a>ubuntu教程</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a16ab31a data-v-a16ab31a><div class="item" data-v-a16ab31a><div class="indicator" data-v-a16ab31a></div><a class="VPLink link link" href="/src/%E5%89%8D%E7%AB%AF/Server/%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF%E6%90%AD%E5%BB%BA%E6%9C%8D%E5%8A%A1%E5%99%A8.html" data-v-a16ab31a><!--[--><p class="text" data-v-a16ab31a>宝塔面板搭建服务器</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-59b6aa09 data-v-8e5081de><div class="VPDoc has-sidebar has-aside" data-v-8e5081de data-v-508e019d><!--[--><!--]--><div class="container" data-v-508e019d><div class="aside" data-v-508e019d><div class="aside-curtain" data-v-508e019d></div><div class="aside-container" data-v-508e019d><div class="aside-content" data-v-508e019d><div class="VPDocAside" data-v-508e019d data-v-00484315><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-00484315 data-v-aa4fe961><div class="content" data-v-aa4fe961><div class="outline-marker" data-v-aa4fe961></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-aa4fe961>页面导航</div><ul class="VPDocOutlineItem root" data-v-aa4fe961 data-v-1333dcf2><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-00484315></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-508e019d><div class="content-container" data-v-508e019d><!--[--><!--]--><main class="main" data-v-508e019d><div style="position:relative;" class="vp-doc _src_%E5%89%8D%E7%AB%AF_Server_linux%E5%B8%B8%E7%94%A8" data-v-508e019d><div><h1 id="linux常用" tabindex="-1">linux常用 <a class="header-anchor" href="#linux常用" aria-label="Permalink to &quot;linux常用&quot;">​</a></h1><h2 id="基本操作" tabindex="-1">基本操作 <a class="header-anchor" href="#基本操作" aria-label="Permalink to &quot;基本操作&quot;">​</a></h2><ul><li>清空当前屏幕：<code>clear</code></li><li>直到多少秒：<code>sleep 60</code></li><li>查看历史命令：<code>history</code>， <ul><li>使用<code>!n</code>执行第n条命令，</li><li><code>!!</code>执行上一条命令</li><li><code>!字串</code> 执行上一条该字串开头的命令</li></ul></li></ul><h2 id="linux修改中文系统" tabindex="-1">linux修改中文系统 <a class="header-anchor" href="#linux修改中文系统" aria-label="Permalink to &quot;linux修改中文系统&quot;">​</a></h2><ol><li><p>locale -a查看是否有zh_CN.UTF-8，如果有则进行下一步，没有自行百度安装</p></li><li><p>使用<code>vim</code>打开<code>locale.conf</code>文件</p><p><code>vim /etc/locale.conf</code></p></li><li><p>编辑文件后保存退出</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">LANG</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;zh_CN.UTF-8&quot;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # en_US.UTF-8为英文</span></span></code></pre></div></li><li><p>最后重启 <code>reboot</code></p></li></ol><h2 id="安装docker并部署nginx" tabindex="-1">安装docker并部署nginx <a class="header-anchor" href="#安装docker并部署nginx" aria-label="Permalink to &quot;安装docker并部署nginx&quot;">​</a></h2><p>使用docker部署nginx的好处：nginx可以随便创建，不用担心配置出错</p><h3 id="安装docker" tabindex="-1">安装docker <a class="header-anchor" href="#安装docker" aria-label="Permalink to &quot;安装docker&quot;">​</a></h3><ol><li><p>修改镜像源为阿里源：<code>vim /etc/apt/sources.list</code></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">deb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://mirrors.aliyun.com/ubuntu/</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bionic</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> restricted</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> universe</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> multiverse</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">deb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://mirrors.aliyun.com/ubuntu/</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bionic-security</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> restricted</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> universe</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> multiverse</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">deb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://mirrors.aliyun.com/ubuntu/</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bionic-updates</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> restricted</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> universe</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> multiverse</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">deb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://mirrors.aliyun.com/ubuntu/</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bionic-proposed</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> restricted</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> universe</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> multiverse</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">deb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://mirrors.aliyun.com/ubuntu/</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bionic-backports</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> restricted</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> universe</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> multiverse</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">deb-src</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://mirrors.aliyun.com/ubuntu/</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bionic</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> restricted</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> universe</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> multiverse</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">deb-src</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://mirrors.aliyun.com/ubuntu/</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bionic-security</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> restricted</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> universe</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> multiverse</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">deb-src</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://mirrors.aliyun.com/ubuntu/</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bionic-updates</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> restricted</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> universe</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> multiverse</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">deb-src</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://mirrors.aliyun.com/ubuntu/</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bionic-proposed</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> restricted</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> universe</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> multiverse</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">deb-src</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://mirrors.aliyun.com/ubuntu/</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bionic-backports</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> restricted</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> universe</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> multiverse</span></span></code></pre></div></li><li><p>更新软件索引：</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">apt-get</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> update</span></span></code></pre></div></li><li><p>安装依赖</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> apt</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> apt-transport-https</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ca-certificates</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> curl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> software-properties-common</span></span></code></pre></div></li><li><p>安装GPG证书</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> apt-key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> -</span></span></code></pre></div></li><li><p>添加docker软件信息</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add-apt-repository</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lsb_release</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -cs</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">) stable&quot;</span></span></code></pre></div></li><li><p>更新并安装docker-ce</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> apt-get</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  update</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> apt-get</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker-ce</span></span></code></pre></div></li><li><p>检测安装是否成功：<code>docker version</code></p></li></ol><h3 id="部署nginx" tabindex="-1">部署nginx <a class="header-anchor" href="#部署nginx" aria-label="Permalink to &quot;部署nginx&quot;">​</a></h3><ol><li><p>下载镜像：<code>docker pull nginx</code></p></li><li><p>查看本地镜像：<code>docker images</code></p></li><li><p>运行镜像并复制默认文件</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --name</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mynginx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> nginx</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 创建主机挂载配置文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">mkdir</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/docker-nginx/{conf,conf.d,html,logs}</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 复制默认配置</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> cp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mynginx:/etc/nginx/nginx.conf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/docker-nginx/conf/nginx.conf</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> cp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mynginx:/etc/nginx/conf.d/default.conf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/docker-nginx/conf.d/default.conf</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> cp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mynginx:/usr/share/nginx/html/index.html</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/docker-nginx/html/index.html</span></span></code></pre></div><ul><li>usr/share/nginx/html/index.html 默认的入口文件，html文件可以放到html这个目录；</li><li>logs 查看日志的文件，以后nginx错误日志可以直接在这里查看</li><li>conf.d 配置conf文件的地方</li></ul></li><li><p>停止删除容器：</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> stop</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mynginx</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> rm</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mynginx</span></span></code></pre></div></li><li><p>生成启动文件，记得首先切换到docker-nginx目录（复制配置的目录）</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cat</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &lt;&lt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">EOF</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &gt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start.sh</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">#!/bin/bash</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">NGINX_DIR=`</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">pwd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">`</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">docker stop mynginx</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">docker rm mynginx</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">docker run -d </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    --restart always </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    -p 80:80 </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    --name mynginx </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    -v </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">{NGINX_DIR}/html:/usr/share/nginx/html </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    -v </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">{NGINX_DIR}/conf/nginx.conf:/etc/nginx/nginx.conf </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    -v </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">{NGINX_DIR}/conf.d:/etc/nginx/conf.d </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    -v </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">{NGINX_DIR}/logs:/var/log/nginx </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    nginx</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">EOF</span></span></code></pre></div><p>如果需要映射其他文件，可以直接在-v后面添加参数即可</p><ul><li><code>-d</code> 后台运行容器</li><li><code>--name</code> 指定容器名</li><li><code>-p </code> 指定服务运行端口</li><li><code>-v</code> 映射目录或文件</li></ul></li><li><p>启动nginx：<code>sh start.sh</code></p></li></ol><h2 id="docker-compose" tabindex="-1">docker-compose <a class="header-anchor" href="#docker-compose" aria-label="Permalink to &quot;docker-compose&quot;">​</a></h2><p>参考文章：<a href="https://blog.csdn.net/pushiqiang/article/details/78682323" target="_blank" rel="noreferrer">docker-compose教程（安装，使用, 快速入门）</a></p><ol><li><p>安装</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pip</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker-compose</span></span></code></pre></div></li><li><p>创建docker-compose.yml文件</p><p>yml和yaml扩展名都正常工作</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;3&#39;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">services</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">  nginx</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">    # docker名字</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    container_name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">hnginx</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">    # 使用的镜像, 可以从docker hub查找</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    image</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">nginx</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">    # 重启策略</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">always</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">    # 指定开放端口</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    ports</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">      #本地80端口 映射到nginx镜像80端口</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">80:80</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">443:443</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">    # 指定文件映射规则</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    volumes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/root/docker-nginx/html:/usr/share/nginx/html</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/root/docker-nginx/conf/nginx.conf:/etc/nginx/nginx.conf</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/root/docker-nginx/conf.d:/etc/nginx/conf.d</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/root/docker-nginx/logs:/var/log/nginx</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/root/docker-nginx/ssl:/etc/nginx/crt</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/etc/localtime:/etc/localtime:ro</span></span></code></pre></div></li><li><p>docker-compose命令</p><ul><li><code>docker-compose up</code> 前台运行 <ul><li><code>-f</code> 指定文件</li><li><code>-d</code> 后台运行</li></ul></li></ul></li></ol><h2 id="docker常用命令" tabindex="-1">docker常用命令 <a class="header-anchor" href="#docker常用命令" aria-label="Permalink to &quot;docker常用命令&quot;">​</a></h2><p>镜像搜索地址 <a href="https://hub.docker.com/" target="_blank" rel="noreferrer">https://hub.docker.com/</a></p><ul><li><code>docker ps</code> 查看docker容器列表</li><li><code>docker-compose up -d jenkins</code> 更新jenkins的配置</li><li><code>docker images</code> 查看本地镜像</li><li><code>docker logs data_nginx_1</code> 查看镜像日志</li><li><code>docker restart data_nginx_1</code> 重启docker</li><li><code>docker exec -it hnginx bash</code> 进入nginx镜像</li></ul><h2 id="ranger" tabindex="-1">ranger <a class="header-anchor" href="#ranger" aria-label="Permalink to &quot;ranger&quot;">​</a></h2><blockquote><p>ranger 一个文件管理器，终端最好用的文件管理器，可以直接进github了解</p><p>github：<a href="https://github.com/ranger/ranger" target="_blank" rel="noreferrer">https://github.com/ranger/ranger</a></p></blockquote><h3 id="安装ranger" tabindex="-1">安装ranger <a class="header-anchor" href="#安装ranger" aria-label="Permalink to &quot;安装ranger&quot;">​</a></h3><ol><li><p>更新存储库：<code>sudo apt-get update -y</code></p></li><li><p>安装make：<code>sudo apt-get install make</code></p></li><li><p>下载ranger资源库：</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clone</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/hut/ranger.git</span></span></code></pre></div></li><li><p>安装ranger，安装之后直接运行<code>ranger</code>即可查看</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ranger</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> make</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ranger</span></span></code></pre></div></li><li><p>复制ranger配置文件</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ranger</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --copy-config=all</span></span></code></pre></div><p>复制之后去<code>~/.config/ranger</code>查看即可</p></li></ol><h3 id="ranger快捷键" tabindex="-1">ranger快捷键 <a class="header-anchor" href="#ranger快捷键" aria-label="Permalink to &quot;ranger快捷键&quot;">​</a></h3><ul><li><p>ranger操作</p><ul><li>q 退出</li><li>shift + s 进入当前目录(会退出当前ranger)</li><li>zh 显示隐藏文件</li><li>zp 打开文件预览</li><li>zP 打开目录预览</li></ul></li><li><p>文件操作</p><ul><li>cw 重命名文件</li><li>A 在当前名称基础上重命名</li><li>yy 复制文件</li><li>dd 剪切文件</li><li>pp 粘贴文件</li><li>dD 删除文件</li></ul></li><li><p>文件选择</p><ul><li>space 多选</li><li>v 反选/全选</li><li>/ 搜索(tab切换下一个)</li><li>du 显示大小</li></ul></li><li><p>书签</p><ul><li>m 新建书签 (按下之后随便按一个键保留当前书签名字)</li><li>` 打开书签</li><li>um 删除书签 (之后按书签名字即可)</li></ul></li><li><p>标签</p><ul><li>gn / ctrl + n 新建标签</li><li>tab 切换标签</li><li>gc 关闭标签</li></ul></li><li><p>文件排序</p><ul><li>on 根据文件名</li><li>oc 根据改变时间</li><li>os 根据文件大小</li><li>ot 根据后缀名</li><li>oa 根据访问时间</li><li>om 根据修改进行排序</li></ul></li></ul><h2 id="本地直接连接linux" tabindex="-1">本地直接连接linux <a class="header-anchor" href="#本地直接连接linux" aria-label="Permalink to &quot;本地直接连接linux&quot;">​</a></h2><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ssh</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@39.107.82.176</span></span></code></pre></div><h2 id="使用xshell上传网站" tabindex="-1">使用xshell上传网站 <a class="header-anchor" href="#使用xshell上传网站" aria-label="Permalink to &quot;使用xshell上传网站&quot;">​</a></h2><ol><li>安装：<code>yum install lrzsz -y</code></li><li>检查安装是否完成：<code>rpm -qa | grep lrzsz</code></li><li>基本操作：</li></ol><ul><li>上传：<code>rz</code> 直接弹出上传窗口</li><li>下载：<code>sz</code> 直接弹出下载窗口</li></ul><h2 id="本地cmd直接操作文件上传" tabindex="-1">本地cmd直接操作文件上传 <a class="header-anchor" href="#本地cmd直接操作文件上传" aria-label="Permalink to &quot;本地cmd直接操作文件上传&quot;">​</a></h2><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 下载文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">scp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build.gz</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@107.172.27.254:/home/test.txt</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 上传文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">scp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> test.txt</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@107.172.27.254:/home</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 下载目录</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">scp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -r</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> dist</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@107.172.27.254:/home/test</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">   </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 上传目录</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">scp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -r</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> dist</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@107.172.27.254:/home</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 上传当前目录所有文件和目录到远程</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">scp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -r</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> *</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@39.107.82.176:/home</span></span></code></pre></div><h2 id="本地直接打包加上传" tabindex="-1">本地直接打包加上传 <a class="header-anchor" href="#本地直接打包加上传" aria-label="Permalink to &quot;本地直接打包加上传&quot;">​</a></h2><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 切换到build目录里</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./build</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> tar</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -cvf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build.gz</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> *</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 上传到www/wwwroot/chart目录</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> scp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build.gz</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@39.107.82.176:/www/wwwroot/chart</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 连接到linux,并输入密码</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ssh</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@39.107.82.176</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#  服务器的操作</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 切换到www/wwwroot/chart目录</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /www/wwwroot/chart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &amp;&amp; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ls</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 解压</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">tar</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -xvf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build.gz</span></span></code></pre></div><h2 id="解决scp不需要输入密码直接上传" tabindex="-1">解决scp不需要输入密码直接上传 <a class="header-anchor" href="#解决scp不需要输入密码直接上传" aria-label="Permalink to &quot;解决scp不需要输入密码直接上传&quot;">​</a></h2><ol><li>在linux输入</li></ol><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ssh-keygen</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -t</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> rsa</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /root/.ssh</span></span></code></pre></div><ol start="2"><li>在本地执行以下命令，并一路回车创建ssh密钥</li></ol><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ssh-keygen</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -t</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> rsa</span></span></code></pre></div><p>之后到<code>C:\Users\Administrator\.ssh</code>，输入以下命令，复制到你的ssh目录下</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">scp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> id_rsa.pub</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@39.107.82.176:/root/.ssh</span></span></code></pre></div><ol start="3"><li>文件上传之后到linux输入命令</li></ol><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /root/.ssh</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cat</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> id_rsa.pub</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &gt;&gt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> authorized_keys</span></span></code></pre></div><ol start="4"><li>已经可以测试不输入密码直接上传了</li></ol><h2 id="填写脚本自动上传" tabindex="-1">填写脚本自动上传 <a class="header-anchor" href="#填写脚本自动上传" aria-label="Permalink to &quot;填写脚本自动上传&quot;">​</a></h2><ol><li>本地脚本，在项目根目录创建文件夹delony.sh，只要是sh后缀都行</li></ol><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#!/bin/bash</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./build</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">tar</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -cvf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build.gz</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> *</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">scp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build.gz</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@39.107.82.176:/www/wwwroot/chart</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ssh</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> root@39.107.82.176</span></span></code></pre></div><ol start="2"><li>运行之后会直接到服务器</li></ol><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">touch</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> delony.sh</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">chmod</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 777</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> delony.sh</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">vim</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> delony.sh</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 写入以下代码</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#!/bin/bash</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /www/wwwroot/chart</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">tar</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -xvf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build.gz</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">rm</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -rf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build.gz</span></span></code></pre></div><ol start="3"><li>之后点击一下delony.sh，之后在到服务器运行：sh ./delony.sh即可</li></ol><h2 id="node项目保持后台运行" tabindex="-1">node项目保持后台运行 <a class="header-anchor" href="#node项目保持后台运行" aria-label="Permalink to &quot;node项目保持后台运行&quot;">​</a></h2><h3 id="pm2" tabindex="-1">pm2 <a class="header-anchor" href="#pm2" aria-label="Permalink to &quot;pm2&quot;">​</a></h3><p>文档：<a href="https://pm2.keymetrics.io/docs/usage/quick-start/" target="_blank" rel="noreferrer">https://pm2.keymetrics.io/docs/usage/quick-start/</a></p><ol><li><p>全局安装：<code>npm install pm2@latest -g</code></p></li><li><p>基本命令：</p><ul><li>启动：<code>pm2 start app.js</code></li><li>重启：<code>pm2 restart app_name</code></li><li>停止：<code>pm2 stop app_name</code></li><li>删除：<code>pm2 delete app_name</code></li><li>应用列表：<code>pm2 [list|ls|status]</code></li><li>查看日志：<code>pm2 logs</code></li><li>清空所有日志文件：<code>pm2 flush</code></li><li>查看实时仪表板：<code>pm2 monit</code></li><li>web界面查看仪表板：<code>pm2 plus</code> 推荐使用</li></ul></li><li><p>pm2 支持的一些参数</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 指定app_name, pm2一般通过app_name管理应用</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">--name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &lt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">app_nam</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">e</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 往script脚本传递参数</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">--</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> arg1</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> arg2</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> arg3</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 文件改变自动重启</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">--watch</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 忽略文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">--watch</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --ignore-watch=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;node_modules&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 指定日志文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">--log</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &lt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">log_pat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">h</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 日志以时间为前缀, 默认日志不带前缀</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">--time</span></span></code></pre></div><p>常用参数：<code> pm2 start app.js --time --name myService -- -p 8866</code></p><p>在启动时建议直接指定appName，下次启动即可直接输入app_name启动</p></li><li><p>创建生态系统文件配置，下次直接启动文件可同时启动多个node应用</p><p>命令：<code>pm2 ecosystem</code></p><p>执行之后会生成<code>ecosystem.config.js</code>文件：</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">module.exports</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">  apps</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [{</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">    name:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;app&quot;,</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">    script:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;./app.js&quot;,</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">    env:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">      NODE_ENV:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;development&quot;,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    },</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">    env_production:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">      NODE_ENV:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;production&quot;,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  }, {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">     name:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;worker&#39;,</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">     script:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;worker.js&#39;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  }]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>启动时：<code>pm2 start ecosystem.config.js</code></p></li></ol><h3 id="forever" tabindex="-1">forever <a class="header-anchor" href="#forever" aria-label="Permalink to &quot;forever&quot;">​</a></h3><p>forever也是一种保持后台运行的插件，建议使用pm2就可以了，监听更方便</p><ol><li><p>全局安装：<code>npm install forever -g</code></p></li><li><p>启动某个项目：forever start 文件名</p><p><img src="https://notecdn.hrhe.cn/images/server-03_linux%E5%B8%B8%E7%94%A8-02.png" alt="image"></p></li><li><p>查看后台运行的项目：forever list</p><p><img src="https://notecdn.hrhe.cn/images/server-03_linux%E5%B8%B8%E7%94%A8-03.png" alt="image"></p></li><li><p>停止某个项目：forever stop [pid]</p><p><img src="https://notecdn.hrhe.cn/images/server-03_linux%E5%B8%B8%E7%94%A8-04.png" alt="image"></p></li><li><p>停止所有项目：forever stopall</p></li><li><p>重新启动项目：forever restart 文件名（重新启动不需要再传入参数了）</p></li><li><p>查看日志：forever logs</p></li></ol><h3 id="screen" tabindex="-1">screen <a class="header-anchor" href="#screen" aria-label="Permalink to &quot;screen&quot;">​</a></h3><p>screen是用来开一个新的窗口，可以退出后台，退出后台：ctrl + A，然后按D</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#创建</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">screen</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -S</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> abc</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#恢复</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">screen</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -r</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> abc</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#查看有多少会话：</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">screen</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -ls</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#如果不能恢复：先</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">screen</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ###</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#再</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">screen</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -r</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ###</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#删除 </span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">screen</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -S</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ### -X quit</span></span></code></pre></div><h2 id="nohup后台运行sh程序及查看" tabindex="-1">nohup后台运行sh程序及查看 <a class="header-anchor" href="#nohup后台运行sh程序及查看" aria-label="Permalink to &quot;nohup后台运行sh程序及查看&quot;">​</a></h2><ol><li><p>后台执行.sh文件（使用nohup和&amp;命令）</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">nohup</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./a.sh</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &amp;</span></span></code></pre></div><ul><li>nohup：加在一个命令的最前面，表示不挂断的运行命令</li><li>&amp;：加在一个命令的最后面，表示这个命令放在后台运行；</li></ul><p>执行之后会增加一个<code>nohup.out</code>文件查看执行日志</p><p>注意：在执行该.sh文件出错时，建议可以先手动运行一下sh文件有没有错误</p></li><li><p>查看后台运行的命令（使用ps和jobs）</p><ul><li><p><code>jobs</code>：只能查看当前终端后台执行的任务，换了终端就看不见了</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[1]- 运行中        nohup ./one.sh &amp;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[2]</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 运行中</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">        nohup</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./a.sh</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &amp;</span></span></code></pre></div><p><code>-</code> 表示之前的任务，<code>+</code>表示最近的任务，<code>[1]</code>代表jobnum是1；</p></li><li><p><code>ps</code>：可以查看别的终端的任务</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[root@wing test]ps -aux </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> grep</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> a.sh</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 将a.sh的任务过滤出来</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">root</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">     15208</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  0.0</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  0.0</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 113176</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  1404</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pts/1</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    S</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    16:02</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">   0:00</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /bin/bash</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./one.sh</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">root</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">     16413</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  0.0</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  0.2</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 151752</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  5356</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pts/1</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    S+</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">   16:11</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">   0:00</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> vim</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> one.sh</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">root</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">     19902</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  0.0</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  0.0</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 112724</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  1000</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pts/5</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">    R+</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">   16:31</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">   0:00</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> grep</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --color=auto</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> one.sh</span></span></code></pre></div><p>参数：<code>a</code> 显示所有程序 <code>u</code> 以用户为主的格式显示 <code>x</code> 显示所有的程序，不以终端机来区分</p><p>第二列为PID；</p></li></ul></li><li><p>关闭当前后台运行的程序（使用kill）</p><p>（1）通过jobs命令查看jobnum，然后执行<code>kill jobnum</code></p><p>（2）通过ps命令查看进程号PID，然后执行<code>kill PID</code></p><p>（3）当前的前台的进程按<code>ctrl+c</code>就可以终止了</p></li><li><p>前后台进程的切换与控制</p><p>（1）<code>fg</code>命令</p><p>将后台中的命令调至前台继续运行；</p><p>如果后台有多个命令，可以使用jobs查看Jobnum，然后使用fg %jobnum将选中的命令调出；</p><p>（2）<code>ctrl + z</code>命令</p><p>将一个正在前台执行的命令放到后台，并且处于暂停状态</p><p>（3）<code>bg</code> 命令</p><p>将一个在后台暂停的命令，变成在后台继续执行；</p><p>如果多个命令使用jobs查看，之后bg %jobnum；</p></li></ol><h2 id="ubuntu下使用nvm" tabindex="-1">ubuntu下使用nvm <a class="header-anchor" href="#ubuntu下使用nvm" aria-label="Permalink to &quot;ubuntu下使用nvm&quot;">​</a></h2><ol><li><p>从github克隆过来</p><p>需要先创建~/git目录，之后将git的东西放在里面；还需要<code>apt install git</code>；</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/git</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clone</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/creationix/nvm.git</span></span></code></pre></div></li><li><p>配置终端启动时自动执行 source ~/git/nvm/nvm.sh,</p><p>在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加以下命令:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">source</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/git/nvm/nvm.sh</span></span></code></pre></div></li><li><p>重新打开</p></li><li><p>配置nvm环境变量</p><p>添加到上面一样的文件里面</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># nvm</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> NVM_NODEJS_ORG_MIRROR</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">https://npm.taobao.org/mirrors/node</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">source</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/git/nvm/nvm.sh</span></span></code></pre></div></li><li><p>之后就可以使用nvm来安装各版本的node了</p></li></ol><h2 id="jenkins常用命令" tabindex="-1">jenkins常用命令 <a class="header-anchor" href="#jenkins常用命令" aria-label="Permalink to &quot;jenkins常用命令&quot;">​</a></h2><p><strong>jenkins目录</strong></p><p>jenkins安装目录：/var/lib/jenkins</p><p>jenkins日志目录：/var/log/jenkins/jenkins.log</p><p>jenkins默认配置：/etc/default/jenkins</p><p>jenkins默认工作区：/var/lib/jenkins/workspace/</p><p><strong>jenkins常用命令</strong></p><ul><li>启动：<code>service jenkins start</code></li><li>重启：<code>service jenkins restart</code></li><li>停止：<code>service jenkins stop</code></li><li>启动之后检查jenkins：<code>ps -def | grep java</code></li></ul><p><strong>浏览器进入jenkins</strong></p><ul><li>登录：localhost:8080</li><li>关闭：localhost:8080/exit</li><li>重启：localhost:8080/restart</li><li>重新加载配置：localhost:8080/reload</li></ul><h2 id="部署在线版vscode" tabindex="-1">部署在线版VScode <a class="header-anchor" href="#部署在线版vscode" aria-label="Permalink to &quot;部署在线版VScode&quot;">​</a></h2><p>参考链接：<a href="https://blog.csdn.net/rjszz1314/article/details/125171514" target="_blank" rel="noreferrer">Linux安装code-server服务并使用systemctl管理</a></p><p><code>code-server</code>官网链接：<a href="https://github.com/cdr/code-server/releases" target="_blank" rel="noreferrer">https://github.com/cdr/code-server/releases</a></p><p>查看架构方便下载</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># x86_64选amd64</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">uname</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -m</span></span></code></pre></div><ol><li><p><strong>下载之后进行解压</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 解压</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">tar</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -zxvf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> code-server.....</span></span></code></pre></div></li><li><p><strong>添加配置文件</strong></p><p><code>~/.config/code-server/config.yaml</code></p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">bind-addr</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">0.0.0.0:8002</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">auth</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">password</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">password</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">123456</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">cert</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">false</span></span></code></pre></div><p>密码和端口号可以修改，其他不要动</p></li><li><p><strong>启动</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 进入目录</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> code-server....</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 直接运行, 不会保留后台</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./code-server</span></span></code></pre></div></li><li><p><strong>使用systemctl管理</strong></p><p>新建<code>code-server.service</code> ，并复制到 <code>/etc/systemd/system/</code></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[Unit]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">code-server</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">After</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">network.target</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[Service]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Type</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">exec</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">ExecStart</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">${code-server目录}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/code-server</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Restart</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">always</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">User</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">${配置文件所在目录所属用户}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[Install]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">WantedBy</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">default.target</span></span></code></pre></div></li><li><p><strong>启动方式</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#启动</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> systemctl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> code-server</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#停止</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> systemctl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> stop</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> code-server</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#开机自启</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> systemctl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> enbale</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> code-server</span></span></code></pre></div></li><li><p>查看日志命令：</p><ul><li><code>systemctl status your-service</code></li><li><code>journalctl -u code-server.service</code></li></ul></li><li><p>访问方式</p><p>直接输入公网ip:port即可访问</p></li></ol><h2 id="本地vscode直接访问服务器" tabindex="-1">本地vscode直接访问服务器 <a class="header-anchor" href="#本地vscode直接访问服务器" aria-label="Permalink to &quot;本地vscode直接访问服务器&quot;">​</a></h2><p>下载remote-ssh插件即可</p><h2 id="安装redis" tabindex="-1">安装redis <a class="header-anchor" href="#安装redis" aria-label="Permalink to &quot;安装redis&quot;">​</a></h2><p><strong>Use</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> apt</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">redis-cli</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --version</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 查看版本</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> service</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 启动</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> service</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> stop</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 停止</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ps</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -aux</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> grep</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 查看redis进程</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 不常用命令</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> systemctl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> status</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 查看服务状态</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> systemctl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 启动</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> systemctl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> stop</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 停止</span></span></code></pre></div><h2 id="安装alist" tabindex="-1">安装Alist <a class="header-anchor" href="#安装alist" aria-label="Permalink to &quot;安装Alist&quot;">​</a></h2><p>通过alist可以管理各个云盘的资源</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 一键安装</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;https://alist.nn.ci/v3.sh&quot;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> bash</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -s</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 更新</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;https://alist.nn.ci/v3.sh&quot;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> bash</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -s</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> update</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#卸载</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;https://alist.nn.ci/v3.sh&quot;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> bash</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -s</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> uninstall</span></span></code></pre></div><p>Alist 安装成功之后：</p><p>访问地址：http://YOUR_IP:5244/</p><p>配置文件路径：/opt/alist/data/config.json $查看管理员信息，请执行</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /opt/alist</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./alist</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> admin</span></span></code></pre></div><p><strong>常用功能</strong></p><ul><li>查看状态：systemctl status alist</li><li>启动服务：systemctl start alist</li><li>重启服务：systemctl restart alist</li><li>停止服务：systemctl stop alist</li></ul><h3 id="配置阿里云盘订阅" tabindex="-1">配置阿里云盘订阅 <a class="header-anchor" href="#配置阿里云盘订阅" aria-label="Permalink to &quot;配置阿里云盘订阅&quot;">​</a></h3><div class="language-dockerfile vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">dockerfile</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">version: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;3&#39;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">services:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  aliyun-subscribe:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    container_name: aliyunsub</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    image: looby/aliyundrive-subscribe:latest</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    restart: always</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    ports: </span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      - 8002:8002</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    volumes:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      - /root/conf/:/app/conf</span></span></code></pre></div><p>下载：<a href="https://github.com/adminpass/aliyundrive-subscribe/releases" target="_blank" rel="noreferrer">https://github.com/adminpass/aliyundrive-subscribe/releases</a></p><p>需要将amd64/arm64以及app.ini文件都下载到/root/conf文件内</p></div></div></main><footer class="VPDocFooter" data-v-508e019d data-v-9772f039><!--[--><!--]--><div class="edit-info" data-v-9772f039><div class="edit-link" data-v-9772f039><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://gitee.com/lwj-wing/vite-note/edit/master/src/前端/Server/linux常用.md" target="_blank" rel="noreferrer" data-v-9772f039><!--[--><span class="vpi-square-pen edit-link-icon" data-v-9772f039></span> 在Gitee上编辑此页 <!--]--></a></div><div class="last-updated" data-v-9772f039><p class="VPLastUpdated" data-v-9772f039 data-v-6e8d07ac>最后编辑时间: <time datetime="2024-03-13T10:40:51.000Z" data-v-6e8d07ac></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-9772f039><span class="visually-hidden" id="doc-footer-aria-label" data-v-9772f039>Pager</span><div class="pager" data-v-9772f039><a class="VPLink link pager-link prev" href="/src/%E5%89%8D%E7%AB%AF/Server/linux-07%20shell%E8%AF%AD%E5%8F%A5.html" data-v-9772f039><!--[--><span class="desc" data-v-9772f039>上一篇</span><span class="title" data-v-9772f039>linux-07 shell语句</span><!--]--></a></div><div class="pager" data-v-9772f039><a class="VPLink link pager-link next" href="/src/%E5%89%8D%E7%AB%AF/Server/nginx%E9%85%8D%E7%BD%AE.html" data-v-9772f039><!--[--><span class="desc" data-v-9772f039>下一篇</span><span class="title" data-v-9772f039>nginx配置</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-59b6aa09 data-v-ab997ade><div class="container" data-v-ab997ade><p class="message" data-v-ab997ade>The future is promising</p><p class="copyright" data-v-ab997ade>Copyright © 2024-present Evan You</p></div></footer><!--[--><!--]--></div></div>
    <script>window.__VP_HASH_MAP__=JSON.parse("{\"api-examples.md\":\"D02bY_kH\",\"index.md\":\"DqOr8Xbd\",\"markdown-examples.md\":\"CMEwRY7S\",\"src_前端_electron_electron-01 electron概念、搭建⼀个⼯程.md\":\"B2_jOGn7\",\"src_前端_electron_electron-02 进程通讯.md\":\"DqAOCgK-\",\"src_前端_electron_index.md\":\"fXcUF6_d\",\"src_前端_es6_es6-01 let、解构、模板、箭头.md\":\"g5ZIs0YN\",\"src_前端_es6_es6-02 扩展、symbol、iterator.md\":\"BBfez6p5\",\"src_前端_es6_es6-03 类、set、map.md\":\"BYgn7hRf\",\"src_前端_es6_es6-04 promise、async.md\":\"COUFI3NH\",\"src_前端_es6_es6-05 扩展.md\":\"CXPrToL_\",\"src_前端_es6_es6-06 module.md\":\"DCcst06e\",\"src_前端_es6_es6-07 proxy、reflect.md\":\"D2RdYqRI\",\"src_前端_es6_es6-08 新提案.md\":\"DZ19nl0v\",\"src_前端_es6_es6原理实现.md\":\"CWwAQ0AH\",\"src_前端_es6_index.md\":\"FoR1qj_L\",\"src_前端_html5_css 预编译器.md\":\"ByDIGcwq\",\"src_前端_html5_css小方法.md\":\"BnjXlpVe\",\"src_前端_html5_css常用布局.md\":\"LynnoER6\",\"src_前端_html5_css常见bug.md\":\"DMYNqpxP\",\"src_前端_html5_html-01 基础知识.md\":\"CEVaZz9A\",\"src_前端_html5_html-02 a标签，表格，表单.md\":\"yc5WPE8s\",\"src_前端_html5_html-03 css样式字体.md\":\"gJegfjPQ\",\"src_前端_html5_html-04 盒子模型 背景.md\":\"D4MyhWQ-\",\"src_前端_html5_html-05 元素转换、浮动.md\":\"FLK8PSFb\",\"src_前端_html5_html-06 定位 bfc.md\":\"BLE9U9ei\",\"src_前端_html5_html-07 布局方式 ie.md\":\"DM9VPQpJ\",\"src_前端_html5_html-08 雪碧图.md\":\"DWWxsyfK\",\"src_前端_html5_html-11 svg简介.md\":\"ux0kGj_x\",\"src_前端_html5_html-12 html5.md\":\"CjDyJ099\",\"src_前端_html5_html-13 css3选择器.md\":\"CVmiQNV4\",\"src_前端_html5_html-14 flex、grid、table.md\":\"DpDWJJ0N\",\"src_前端_html5_html-15 less css预处理器.md\":\"DSGKlvxf\",\"src_前端_html5_html-17 移动端布局.md\":\"BIZ_vn1o\",\"src_前端_html5_html-18 2d、3d动画.md\":\"lzpwsKi5\",\"src_前端_html5_html-19 filter.md\":\"DYHWOijt\",\"src_前端_html5_html面试问题.md\":\"DeaItgDA\",\"src_前端_html5_index.md\":\"7PNMxP4V\",\"src_前端_html5_reset.css.md\":\"Bmm_ZC94\",\"src_前端_html5_容易忘记的知识.md\":\"BgPsCGrL\",\"src_前端_html5_提高css开发效率.md\":\"BK0gpmbK\",\"src_前端_index.md\":\"BRfjlHBy\",\"src_前端_javascript_index.md\":\"qdUoRZXW\",\"src_前端_javascript_js-01 javascript 初始.md\":\"D_USRX_5\",\"src_前端_javascript_js-02 javascript数据类型篇.md\":\"4pH3xLvm\",\"src_前端_javascript_js-03 条件、循环、语句.md\":\"BDH7g7W-\",\"src_前端_javascript_js-04 自定义属性.md\":\"Bx_l3ppo\",\"src_前端_javascript_js-05 函数.md\":\"C1lzvqgu\",\"src_前端_javascript_js-06 定时器、时间、math.md\":\"BsMuSPgS\",\"src_前端_javascript_js-07 字符串、对象.md\":\"CBP34CNQ\",\"src_前端_javascript_js-08 数组.md\":\"DoV-MHEA\",\"src_前端_javascript_js-09 dom.md\":\"D0Gp9Mot\",\"src_前端_javascript_js-10 bom.md\":\"C_AhmjD0\",\"src_前端_javascript_js-11 事件对象.md\":\"BFdBQqjN\",\"src_前端_javascript_js-12 拖拽、缓冲、懒加载.md\":\"DJ9KUedV\",\"src_前端_javascript_js-13 cookie.md\":\"C0bV36SA\",\"src_前端_javascript_js-14 正则篇.md\":\"B-wagaab\",\"src_前端_javascript_js-15 面向对象、继承.md\":\"C9PhudED\",\"src_前端_javascript_js-16 闭包、高阶函数、ajax.md\":\"36PpR8Hy\",\"src_前端_javascript_js-17 拖拽api、文件上传、下载.md\":\"CdJzpGAh\",\"src_前端_javascript_js-18 其他api.md\":\"BYivjPN3\",\"src_前端_javascript_js-19 ajax、接口请求 跨域.md\":\"BHD15-DE\",\"src_前端_javascript_js小方法.md\":\"CnSOvmY-\",\"src_前端_javascript_js插件推荐.md\":\"CT5Ay2CH\",\"src_前端_javascript_js数据结构.md\":\"Bvn8LP33\",\"src_前端_javascript_js源码实现.md\":\"DVX8shu5\",\"src_前端_javascript_js理论面试题.md\":\"CYIkhEXl\",\"src_前端_javascript_js算法.md\":\"BxFBX0nD\",\"src_前端_javascript_js类型整合（助记）.md\":\"BlJAY9zn\",\"src_前端_javascript_js设计模式.md\":\"MPEOP48g\",\"src_前端_javascript_js面试问题.md\":\"B45ZNlis\",\"src_前端_javascript_lodash常用方法.md\":\"DGgL4-nF\",\"src_前端_jquery_index.md\":\"cx6Bxns1\",\"src_前端_jquery_jq-01 什么是jquery.md\":\"CLtsnivz\",\"src_前端_jquery_jq-02 选择器.md\":\"DiNJEuNh\",\"src_前端_jquery_jq-03 属性、位置.md\":\"7cbkTX_p\",\"src_前端_jquery_jq-04 事件和动画.md\":\"BWUv6jHZ\",\"src_前端_jquery_jq-05 ajax 自定义jquery插件.md\":\"Cx-DW66l\",\"src_前端_mini-programe_index.md\":\"COjfWa7M\",\"src_前端_mini-programe_小程序-01 小程序入门.md\":\"ZbaKJc31\",\"src_前端_mini-programe_小程序-02 模板、组件.md\":\"CVYdIn7-\",\"src_前端_mini-programe_小程序-03  媒体组件.md\":\"u7oIZ12m\",\"src_前端_mini-programe_小程序-04  api.md\":\"o4bGRLyc\",\"src_前端_mini-programe_小程序-05 路由封装.md\":\"_hKBQCZR\",\"src_前端_mini-programe_小程序-07 mpvue.md\":\"Ham2Kc4z\",\"src_前端_nextjs_index.md\":\"Bn5HJ8Qu\",\"src_前端_nextjs_next-01 服务端组件、客户端组件、不同类型组件交叉使用的注意点、缓存.md\":\"jlFJVS5D\",\"src_前端_nextjs_next-02 路由处理程序、serveraction.md\":\"9UyM2mZz\",\"src_前端_node_http状态码.md\":\"CiZwi2wu\",\"src_前端_node_index.md\":\"AXtvF6Rn\",\"src_前端_node_node-01 http nodejs.md\":\"P8IkJsJD\",\"src_前端_node_node-02 路由、path、模块.md\":\"ffIcpBiC\",\"src_前端_node_node-03 fs文件.md\":\"B4lIjb-T\",\"src_前端_node_node-04 express 跨域.md\":\"CzJXH_iR\",\"src_前端_node_node-05 restful、爬虫.md\":\"CPV5fMJK\",\"src_前端_node_node-06 加密 cookie ejs.md\":\"BKYSoC4L\",\"src_前端_node_node-07 模板化.md\":\"BZAsusLM\",\"src_前端_node_node-08 mongodb.md\":\"BXmmyUGm\",\"src_前端_node_node-09 mongoose.md\":\"CcTRmIpe\",\"src_前端_node_node-10 websocket.md\":\"C7KZM5nb\",\"src_前端_node_node使用babel.md\":\"DoD_cFWw\",\"src_前端_node_node常用指令.md\":\"ScU6hl-1\",\"src_前端_node_node插件分享.md\":\"_voRW8be\",\"src_前端_node_node项目实例.md\":\"B3fKqsiR\",\"src_前端_node_node项目小技巧.md\":\"B5ox8Wnn\",\"src_前端_other-note_animate.css使用方法.md\":\"B7zLxnfh\",\"src_前端_other-note_ast抽象语法树.md\":\"Cy7aGHYi\",\"src_前端_other-note_bootstrap 全局css样式.md\":\"CK8fVLW6\",\"src_前端_other-note_canvas.md\":\"DcDaBioB\",\"src_前端_other-note_git.md\":\"BzGlgr8Z\",\"src_前端_other-note_hexo搭建个人博客.md\":\"C0UpIBa4\",\"src_前端_other-note_immutable.md\":\"BUoFMfpJ\",\"src_前端_other-note_index.md\":\"DxYJZUpO\",\"src_前端_other-note_mac使用技巧.md\":\"xSxJhB7-\",\"src_前端_other-note_markdown语法.md\":\"D7_j3BnF\",\"src_前端_other-note_mobx.md\":\"DjHZ_72x\",\"src_前端_other-note_typora设置.md\":\"D27814An\",\"src_前端_other-note_vs code 使用技巧.md\":\"BVAkp6bU\",\"src_前端_other-note_vuepress搭建个人博客.md\":\"pToIdJAS\",\"src_前端_other-note_七牛云cdn加速图片.md\":\"BjT7v2_J\",\"src_前端_other-note_包管理工具.md\":\"Tg-3oxy3\",\"src_前端_other-note_团队协作工具.md\":\"hUAGQIIJ\",\"src_前端_other-note_微信分享.md\":\"Co6XkI4r\",\"src_前端_other-note_未学知识.md\":\"Dg2C7nbT\",\"src_前端_other-note_浏览器技巧.md\":\"U9LYUf1k\",\"src_前端_other-note_百度地图api.md\":\"B83RWuvc\",\"src_前端_other-note_配置支付宝接口.md\":\"e_iGUHrb\",\"src_前端_other-note_面试复习.md\":\"Bbs6GqpM\",\"src_前端_react-native_index.md\":\"Dpt_eiNy\",\"src_前端_react-native_rn-01 react-native.md\":\"DL9V9bYr\",\"src_前端_react_hooks实现原理.md\":\"CP83fYpH\",\"src_前端_react_index.md\":\"VDlFYWPP\",\"src_前端_react_reach__router.md\":\"DqFmLiVz\",\"src_前端_react_react-01 初识.md\":\"Bt1LZ9QT\",\"src_前端_react_react-02 脚手架、jsx.md\":\"DnNp_Mdw\",\"src_前端_react_react-03 组件通讯、生命周期.md\":\"BXhqyPZB\",\"src_前端_react_react-04 路由.md\":\"Crt7SVdX\",\"src_前端_react_react-05 其他api.md\":\"CYhCYrRI\",\"src_前端_react_react-06 redux.md\":\"unyiBMp2\",\"src_前端_react_react-07 hooks.md\":\"sA9yBlzf\",\"src_前端_react_react-08 高阶组件.md\":\"Cwz3MOSL\",\"src_前端_react_react-09 项目优化、项目坑.md\":\"BRsexucu\",\"src_前端_react_react-10 服务端渲染.md\":\"Co70wCB7\",\"src_前端_react_react写测试.md\":\"CP5CjQ6F\",\"src_前端_react_react常用插件.md\":\"CkEQBVub\",\"src_前端_react_react搭建项目.md\":\"B0zFM4kA\",\"src_前端_react_react面试.md\":\"D5TvKvfP\",\"src_前端_react_常用自定义hooks.md\":\"Dt15GMps\",\"src_前端_server_index.md\":\"Dq336_-M\",\"src_前端_server_linux-01 系统知识.md\":\"DZwWXZmP\",\"src_前端_server_linux-02 基本操作.md\":\"Bfhow8Wb\",\"src_前端_server_linux-03 文件操作.md\":\"78vSmjpz\",\"src_前端_server_linux-04 vim编辑器.md\":\"Cg7jFpHc\",\"src_前端_server_linux-05 基本管理.md\":\"C8_S0GU7\",\"src_前端_server_linux-06 shell基础.md\":\"D5C-4wk3\",\"src_前端_server_linux-07 shell语句.md\":\"BoQysxiH\",\"src_前端_server_linux常用.md\":\"C-ynQ-iq\",\"src_前端_server_nginx配置.md\":\"D5D2mEje\",\"src_前端_server_ubuntu教程.md\":\"CjB3Rnwx\",\"src_前端_server_宝塔面板搭建服务器.md\":\"Bkl3dDFK\",\"src_前端_typescript_index.md\":\"CkIHS7tD\",\"src_前端_typescript_ts-01 基础类型.md\":\"2irzp8ud\",\"src_前端_typescript_ts-02 接口、函数.md\":\"CQPjs5h9\",\"src_前端_typescript_ts-03 泛型、类.md\":\"Cf-jJPYb\",\"src_前端_typescript_ts-04 枚举、类型推论.md\":\"C48d6bcr\",\"src_前端_typescript_ts-05 高级类型.md\":\"IwuPz0Ol\",\"src_前端_typescript_ts-06 命名空间、声明合并.md\":\"DFd9FqBg\",\"src_前端_typescript_ts-07 装饰器、mixins.md\":\"lH-tyqye\",\"src_前端_typescript_ts-08 声明文件、模块解析.md\":\"D2falCuC\",\"src_前端_typescript_ts-09 其他.md\":\"CURsW23Z\",\"src_前端_typescript_ts-类型收集.md\":\"3M_3UMV1\",\"src_前端_typescript_tsconfig.md\":\"DT8xWB-9\",\"src_前端_typescript_ts实战例子.md\":\"D0KciTHX\",\"src_前端_typescript_ts开发环境搭建.md\":\"CUHjBroV\",\"src_前端_typescript_typescript_react.md\":\"y_jcUPo1\",\"src_前端_typescript_typescript_vue.md\":\"CWtHmSBj\",\"src_前端_typescript_总结typescript.md\":\"DUYuNSSl\",\"src_前端_vue_index.md\":\"B0JBklst\",\"src_前端_vue_vue-01 初识vue.md\":\"SOvwAZPJ\",\"src_前端_vue_vue-02 修饰符 表单.md\":\"CgFIlVww\",\"src_前端_vue_vue-03 组件 prop.md\":\"RH8VaFdf\",\"src_前端_vue_vue-04 组件通讯 插槽.md\":\"C4K6FJfE\",\"src_前端_vue_vue-05 过渡 生命周期.md\":\"BoBdrNG_\",\"src_前端_vue_vue-06 router.md\":\"660siYST\",\"src_前端_vue_vue-07 vuex.md\":\"BNXCUpOf\",\"src_前端_vue_vue-08 插件开发.md\":\"BinZaAAy\",\"src_前端_vue_vue3-api.md\":\"DetXSE0o\",\"src_前端_vue_vue3-vue2不同点.md\":\"4iMrwEBZ\",\"src_前端_vue_vue3造轮子常用.md\":\"DB27lE9m\",\"src_前端_vue_vue实战技巧.md\":\"Cwk98MqW\",\"src_前端_vue_vue造轮子常用方法.md\":\"B4sK0yoI\",\"src_前端_vue_vue面试题.md\":\"BdwVFGqK\",\"src_前端_vue_vue项目bug记录.md\":\"BuFCw_9h\",\"src_前端_webpack_index.md\":\"7RBPSido\",\"src_前端_webpack_webpack-01 服务、配置项.md\":\"BsGfbj18\",\"src_前端_webpack_webpack-02 处理js、暴露全局变量.md\":\"Y5LoVDrh\",\"src_前端_webpack_webpack-03 多页面、source-map、实时打包.md\":\"CLCC-6U8\",\"src_前端_webpack_webpack-04  优化、动态链接库、多线程打包.md\":\"DJxIyLbD\",\"src_前端_webpack_webpack-05 抽离公共模块、懒加载.md\":\"DEEvQ0Rd\",\"src_前端_webpack_webpack原理.md\":\"CJgcFCvW\",\"src_前端_webpack_webpack插件.md\":\"C4e1liYh\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Wing's Note\",\"description\":\"前端\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"returnToTopLabel\":\"回到顶部\",\"footer\":{\"message\":\"The future is promising\",\"copyright\":\"Copyright © 2024-present Evan You\"},\"logo\":\"/logo.png\",\"outline\":{\"label\":\"页面导航\"},\"nav\":[{\"text\":\"Vue\",\"link\":\"/src/前端/Vue/\"},{\"text\":\"Typescript\",\"link\":\"/src/前端/Typescript/\"},{\"text\":\"Javascript\",\"link\":\"/src/前端/Javascript/\"},{\"text\":\"html5\",\"link\":\"/src/前端/html5/\"},{\"text\":\"前端\",\"items\":[{\"text\":\"Electron\",\"link\":\"/src/前端/Electron/\",\"activeMatch\":\"/src/前端/Electron/\"},{\"text\":\"Javascript\",\"link\":\"/src/前端/Javascript/\",\"activeMatch\":\"/src/前端/Javascript/\"},{\"text\":\"Nextjs\",\"link\":\"/src/前端/Nextjs/\",\"activeMatch\":\"/src/前端/Nextjs/\"},{\"text\":\"React\",\"link\":\"/src/前端/React/\",\"activeMatch\":\"/src/前端/React/\"},{\"text\":\"Server\",\"link\":\"/src/前端/Server/\",\"activeMatch\":\"/src/前端/Server/\"},{\"text\":\"Typescript\",\"link\":\"/src/前端/Typescript/\",\"activeMatch\":\"/src/前端/Typescript/\"},{\"text\":\"Vue\",\"link\":\"/src/前端/Vue/\",\"activeMatch\":\"/src/前端/Vue/\"},{\"text\":\"Webpack\",\"link\":\"/src/前端/Webpack/\",\"activeMatch\":\"/src/前端/Webpack/\"},{\"text\":\"es6\",\"link\":\"/src/前端/es6/\",\"activeMatch\":\"/src/前端/es6/\"},{\"text\":\"html5\",\"link\":\"/src/前端/html5/\",\"activeMatch\":\"/src/前端/html5/\"},{\"text\":\"index\",\"link\":\"/src/前端/index\",\"activeMatch\":\"/src/前端/index/\"},{\"text\":\"jQuery\",\"link\":\"/src/前端/jQuery/\",\"activeMatch\":\"/src/前端/jQuery/\"},{\"text\":\"mini-programe\",\"link\":\"/src/前端/mini-programe/\",\"activeMatch\":\"/src/前端/mini-programe/\"},{\"text\":\"node\",\"link\":\"/src/前端/node/\",\"activeMatch\":\"/src/前端/node/\"},{\"text\":\"other-note\",\"link\":\"/src/前端/other-note/\",\"activeMatch\":\"/src/前端/other-note/\"},{\"text\":\"react-native\",\"link\":\"/src/前端/react-native/\",\"activeMatch\":\"/src/前端/react-native/\"}],\"activeMatch\":\"/src/前端/\"}],\"sidebar\":{\"/src/前端/Electron\":{\"text\":\"Electron\",\"items\":[{\"text\":\"Electron-01 electron概念、搭建⼀个⼯程\",\"link\":\"/src/前端/Electron/Electron-01 electron概念、搭建⼀个⼯程\"},{\"text\":\"Electron-02 进程通讯\",\"link\":\"/src/前端/Electron/Electron-02 进程通讯\"}]},\"/src/前端/Javascript\":{\"text\":\"Javascript\",\"items\":[{\"text\":\"js-01 javascript 初始\",\"link\":\"/src/前端/Javascript/js-01 javascript 初始\"},{\"text\":\"js-02 javascript数据类型篇\",\"link\":\"/src/前端/Javascript/js-02 javascript数据类型篇\"},{\"text\":\"js-03 条件、循环、语句\",\"link\":\"/src/前端/Javascript/js-03 条件、循环、语句\"},{\"text\":\"js-04 自定义属性\",\"link\":\"/src/前端/Javascript/js-04 自定义属性\"},{\"text\":\"js-05 函数\",\"link\":\"/src/前端/Javascript/js-05 函数\"},{\"text\":\"js-06 定时器、时间、Math\",\"link\":\"/src/前端/Javascript/js-06 定时器、时间、Math\"},{\"text\":\"js-07 字符串、对象\",\"link\":\"/src/前端/Javascript/js-07 字符串、对象\"},{\"text\":\"js-08 数组\",\"link\":\"/src/前端/Javascript/js-08 数组\"},{\"text\":\"js-09 DOM\",\"link\":\"/src/前端/Javascript/js-09 DOM\"},{\"text\":\"js-10 BOM\",\"link\":\"/src/前端/Javascript/js-10 BOM\"},{\"text\":\"js-11 事件对象\",\"link\":\"/src/前端/Javascript/js-11 事件对象\"},{\"text\":\"js-12 拖拽、缓冲、懒加载\",\"link\":\"/src/前端/Javascript/js-12 拖拽、缓冲、懒加载\"},{\"text\":\"js-13 cookie\",\"link\":\"/src/前端/Javascript/js-13 cookie\"},{\"text\":\"js-14 正则篇\",\"link\":\"/src/前端/Javascript/js-14 正则篇\"},{\"text\":\"js-15 面向对象、继承\",\"link\":\"/src/前端/Javascript/js-15 面向对象、继承\"},{\"text\":\"js-16 闭包、高阶函数、ajax\",\"link\":\"/src/前端/Javascript/js-16 闭包、高阶函数、ajax\"},{\"text\":\"js-17 拖拽API、文件上传、下载\",\"link\":\"/src/前端/Javascript/js-17 拖拽API、文件上传、下载\"},{\"text\":\"js-18 其他API\",\"link\":\"/src/前端/Javascript/js-18 其他API\"},{\"text\":\"js-19 ajax、接口请求 跨域\",\"link\":\"/src/前端/Javascript/js-19 ajax、接口请求 跨域\"},{\"text\":\"js小方法\",\"link\":\"/src/前端/Javascript/js小方法\"},{\"text\":\"js插件推荐\",\"link\":\"/src/前端/Javascript/js插件推荐\"},{\"text\":\"js数据结构\",\"link\":\"/src/前端/Javascript/js数据结构\"},{\"text\":\"js源码实现\",\"link\":\"/src/前端/Javascript/js源码实现\"},{\"text\":\"js理论面试题\",\"link\":\"/src/前端/Javascript/js理论面试题\"},{\"text\":\"js算法\",\"link\":\"/src/前端/Javascript/js算法\"},{\"text\":\"js类型整合（助记）\",\"link\":\"/src/前端/Javascript/js类型整合（助记）\"},{\"text\":\"js设计模式\",\"link\":\"/src/前端/Javascript/js设计模式\"},{\"text\":\"js面试问题\",\"link\":\"/src/前端/Javascript/js面试问题\"},{\"text\":\"lodash常用方法\",\"link\":\"/src/前端/Javascript/lodash常用方法\"}]},\"/src/前端/Nextjs\":{\"text\":\"Nextjs\",\"items\":[{\"text\":\"Next-01 服务端组件、客户端组件、不同类型组件交叉使用的注意点、缓存\",\"link\":\"/src/前端/Nextjs/Next-01 服务端组件、客户端组件、不同类型组件交叉使用的注意点、缓存\"},{\"text\":\"Next-02 路由处理程序、ServerAction\",\"link\":\"/src/前端/Nextjs/Next-02 路由处理程序、ServerAction\"}]},\"/src/前端/React\":{\"text\":\"React\",\"items\":[{\"text\":\"Reach__router\",\"link\":\"/src/前端/React/Reach__router\"},{\"text\":\"React写测试\",\"link\":\"/src/前端/React/React写测试\"},{\"text\":\"React搭建项目\",\"link\":\"/src/前端/React/React搭建项目\"},{\"text\":\"React面试\",\"link\":\"/src/前端/React/React面试\"},{\"text\":\"hooks实现原理\",\"link\":\"/src/前端/React/hooks实现原理\"},{\"text\":\"react-01 初识\",\"link\":\"/src/前端/React/react-01 初识\"},{\"text\":\"react-02 脚手架、JSX\",\"link\":\"/src/前端/React/react-02 脚手架、JSX\"},{\"text\":\"react-03 组件通讯、生命周期\",\"link\":\"/src/前端/React/react-03 组件通讯、生命周期\"},{\"text\":\"react-04 路由\",\"link\":\"/src/前端/React/react-04 路由\"},{\"text\":\"react-05 其他Api\",\"link\":\"/src/前端/React/react-05 其他Api\"},{\"text\":\"react-06 Redux\",\"link\":\"/src/前端/React/react-06 Redux\"},{\"text\":\"react-07 hooks\",\"link\":\"/src/前端/React/react-07 hooks\"},{\"text\":\"react-08 高阶组件\",\"link\":\"/src/前端/React/react-08 高阶组件\"},{\"text\":\"react-09 项目优化、项目坑\",\"link\":\"/src/前端/React/react-09 项目优化、项目坑\"},{\"text\":\"react-10 服务端渲染\",\"link\":\"/src/前端/React/react-10 服务端渲染\"},{\"text\":\"react常用插件\",\"link\":\"/src/前端/React/react常用插件\"},{\"text\":\"常用自定义hooks\",\"link\":\"/src/前端/React/常用自定义hooks\"}]},\"/src/前端/Server\":{\"text\":\"Server\",\"items\":[{\"text\":\"linux-01 系统知识\",\"link\":\"/src/前端/Server/linux-01 系统知识\"},{\"text\":\"linux-02 基本操作\",\"link\":\"/src/前端/Server/linux-02 基本操作\"},{\"text\":\"linux-03 文件操作\",\"link\":\"/src/前端/Server/linux-03 文件操作\"},{\"text\":\"linux-04 vim编辑器\",\"link\":\"/src/前端/Server/linux-04 vim编辑器\"},{\"text\":\"linux-05 基本管理\",\"link\":\"/src/前端/Server/linux-05 基本管理\"},{\"text\":\"linux-06 shell基础\",\"link\":\"/src/前端/Server/linux-06 shell基础\"},{\"text\":\"linux-07 shell语句\",\"link\":\"/src/前端/Server/linux-07 shell语句\"},{\"text\":\"linux常用\",\"link\":\"/src/前端/Server/linux常用\"},{\"text\":\"nginx配置\",\"link\":\"/src/前端/Server/nginx配置\"},{\"text\":\"ubuntu教程\",\"link\":\"/src/前端/Server/ubuntu教程\"},{\"text\":\"宝塔面板搭建服务器\",\"link\":\"/src/前端/Server/宝塔面板搭建服务器\"}]},\"/src/前端/Typescript\":{\"text\":\"Typescript\",\"items\":[{\"text\":\"ts-01 基础类型\",\"link\":\"/src/前端/Typescript/ts-01 基础类型\"},{\"text\":\"ts-02 接口、函数\",\"link\":\"/src/前端/Typescript/ts-02 接口、函数\"},{\"text\":\"ts-03 泛型、类\",\"link\":\"/src/前端/Typescript/ts-03 泛型、类\"},{\"text\":\"ts-04 枚举、类型推论\",\"link\":\"/src/前端/Typescript/ts-04 枚举、类型推论\"},{\"text\":\"ts-05 高级类型\",\"link\":\"/src/前端/Typescript/ts-05 高级类型\"},{\"text\":\"ts-06 命名空间、声明合并\",\"link\":\"/src/前端/Typescript/ts-06 命名空间、声明合并\"},{\"text\":\"ts-07 装饰器、Mixins\",\"link\":\"/src/前端/Typescript/ts-07 装饰器、Mixins\"},{\"text\":\"ts-08 声明文件、模块解析\",\"link\":\"/src/前端/Typescript/ts-08 声明文件、模块解析\"},{\"text\":\"ts-09 其他\",\"link\":\"/src/前端/Typescript/ts-09 其他\"},{\"text\":\"ts-类型收集\",\"link\":\"/src/前端/Typescript/ts-类型收集\"},{\"text\":\"tsconfig\",\"link\":\"/src/前端/Typescript/tsconfig\"},{\"text\":\"ts实战例子\",\"link\":\"/src/前端/Typescript/ts实战例子\"},{\"text\":\"ts开发环境搭建\",\"link\":\"/src/前端/Typescript/ts开发环境搭建\"},{\"text\":\"typescript_react\",\"link\":\"/src/前端/Typescript/typescript_react\"},{\"text\":\"typescript_vue\",\"link\":\"/src/前端/Typescript/typescript_vue\"},{\"text\":\"总结Typescript\",\"link\":\"/src/前端/Typescript/总结Typescript\"}]},\"/src/前端/Vue\":{\"text\":\"Vue\",\"items\":[{\"text\":\"Vue3-API\",\"link\":\"/src/前端/Vue/Vue3-API\"},{\"text\":\"Vue3-Vue2不同点\",\"link\":\"/src/前端/Vue/Vue3-Vue2不同点\"},{\"text\":\"Vue3造轮子常用\",\"link\":\"/src/前端/Vue/Vue3造轮子常用\"},{\"text\":\"vue-01 初识vue\",\"link\":\"/src/前端/Vue/vue-01 初识vue\"},{\"text\":\"vue-02 修饰符 表单\",\"link\":\"/src/前端/Vue/vue-02 修饰符 表单\"},{\"text\":\"vue-03 组件 Prop\",\"link\":\"/src/前端/Vue/vue-03 组件 Prop\"},{\"text\":\"vue-04 组件通讯 插槽\",\"link\":\"/src/前端/Vue/vue-04 组件通讯 插槽\"},{\"text\":\"vue-05 过渡 生命周期\",\"link\":\"/src/前端/Vue/vue-05 过渡 生命周期\"},{\"text\":\"vue-06 Router\",\"link\":\"/src/前端/Vue/vue-06 Router\"},{\"text\":\"vue-07 Vuex\",\"link\":\"/src/前端/Vue/vue-07 Vuex\"},{\"text\":\"vue-08 插件开发\",\"link\":\"/src/前端/Vue/vue-08 插件开发\"},{\"text\":\"vue实战技巧\",\"link\":\"/src/前端/Vue/vue实战技巧\"},{\"text\":\"vue造轮子常用方法\",\"link\":\"/src/前端/Vue/vue造轮子常用方法\"},{\"text\":\"vue面试题\",\"link\":\"/src/前端/Vue/vue面试题\"},{\"text\":\"vue项目bug记录\",\"link\":\"/src/前端/Vue/vue项目bug记录\"}]},\"/src/前端/Webpack\":{\"text\":\"Webpack\",\"items\":[{\"text\":\"webpack-01 服务、配置项\",\"link\":\"/src/前端/Webpack/webpack-01 服务、配置项\"},{\"text\":\"webpack-02 处理js、暴露全局变量\",\"link\":\"/src/前端/Webpack/webpack-02 处理js、暴露全局变量\"},{\"text\":\"webpack-03 多页面、source-map、实时打包\",\"link\":\"/src/前端/Webpack/webpack-03 多页面、source-map、实时打包\"},{\"text\":\"webpack-04  优化、动态链接库、多线程打包\",\"link\":\"/src/前端/Webpack/webpack-04  优化、动态链接库、多线程打包\"},{\"text\":\"webpack-05 抽离公共模块、懒加载\",\"link\":\"/src/前端/Webpack/webpack-05 抽离公共模块、懒加载\"},{\"text\":\"webpack原理\",\"link\":\"/src/前端/Webpack/webpack原理\"},{\"text\":\"webpack插件\",\"link\":\"/src/前端/Webpack/webpack插件\"}]},\"/src/前端/es6\":{\"text\":\"es6\",\"items\":[{\"text\":\"es6-01 let、解构、模板、箭头\",\"link\":\"/src/前端/es6/es6-01 let、解构、模板、箭头\"},{\"text\":\"es6-02 扩展、Symbol、iterator\",\"link\":\"/src/前端/es6/es6-02 扩展、Symbol、iterator\"},{\"text\":\"es6-03 类、set、map\",\"link\":\"/src/前端/es6/es6-03 类、set、map\"},{\"text\":\"es6-04 Promise、async\",\"link\":\"/src/前端/es6/es6-04 Promise、async\"},{\"text\":\"es6-05 扩展\",\"link\":\"/src/前端/es6/es6-05 扩展\"},{\"text\":\"es6-06 module\",\"link\":\"/src/前端/es6/es6-06 module\"},{\"text\":\"es6-07 proxy、Reflect\",\"link\":\"/src/前端/es6/es6-07 proxy、Reflect\"},{\"text\":\"es6-08 新提案\",\"link\":\"/src/前端/es6/es6-08 新提案\"},{\"text\":\"es6原理实现\",\"link\":\"/src/前端/es6/es6原理实现\"}]},\"/src/前端/html5\":{\"text\":\"html5\",\"items\":[{\"text\":\"CSS 预编译器\",\"link\":\"/src/前端/html5/CSS 预编译器\"},{\"text\":\"CSS常用布局\",\"link\":\"/src/前端/html5/CSS常用布局\"},{\"text\":\"css小方法\",\"link\":\"/src/前端/html5/css小方法\"},{\"text\":\"css常见bug\",\"link\":\"/src/前端/html5/css常见bug\"},{\"text\":\"html-01 基础知识\",\"link\":\"/src/前端/html5/html-01 基础知识\"},{\"text\":\"html-02 a标签，表格，表单\",\"link\":\"/src/前端/html5/html-02 a标签，表格，表单\"},{\"text\":\"html-03 CSS样式字体\",\"link\":\"/src/前端/html5/html-03 CSS样式字体\"},{\"text\":\"html-04 盒子模型 背景\",\"link\":\"/src/前端/html5/html-04 盒子模型 背景\"},{\"text\":\"html-05 元素转换、浮动\",\"link\":\"/src/前端/html5/html-05 元素转换、浮动\"},{\"text\":\"html-06 定位 BFC\",\"link\":\"/src/前端/html5/html-06 定位 BFC\"},{\"text\":\"html-07 布局方式 IE\",\"link\":\"/src/前端/html5/html-07 布局方式 IE\"},{\"text\":\"html-08 雪碧图\",\"link\":\"/src/前端/html5/html-08 雪碧图\"},{\"text\":\"html-11 Svg简介\",\"link\":\"/src/前端/html5/html-11 Svg简介\"},{\"text\":\"html-12 HTML5\",\"link\":\"/src/前端/html5/html-12 HTML5\"},{\"text\":\"html-13 CSS3选择器\",\"link\":\"/src/前端/html5/html-13 CSS3选择器\"},{\"text\":\"html-14 flex、grid、table\",\"link\":\"/src/前端/html5/html-14 flex、grid、table\"},{\"text\":\"html-15 LESS css预处理器\",\"link\":\"/src/前端/html5/html-15 LESS css预处理器\"},{\"text\":\"html-17 移动端布局\",\"link\":\"/src/前端/html5/html-17 移动端布局\"},{\"text\":\"html-18 2D、3D动画\",\"link\":\"/src/前端/html5/html-18 2D、3D动画\"},{\"text\":\"html-19 filter\",\"link\":\"/src/前端/html5/html-19 filter\"},{\"text\":\"html面试问题\",\"link\":\"/src/前端/html5/html面试问题\"},{\"text\":\"reset.css\",\"link\":\"/src/前端/html5/reset.css\"},{\"text\":\"容易忘记的知识\",\"link\":\"/src/前端/html5/容易忘记的知识\"},{\"text\":\"提高css开发效率\",\"link\":\"/src/前端/html5/提高css开发效率\"}]},\"/src/前端/jQuery\":{\"text\":\"jQuery\",\"items\":[{\"text\":\"jq-01 什么是jQuery\",\"link\":\"/src/前端/jQuery/jq-01 什么是jQuery\"},{\"text\":\"jq-02 选择器\",\"link\":\"/src/前端/jQuery/jq-02 选择器\"},{\"text\":\"jq-03 属性、位置\",\"link\":\"/src/前端/jQuery/jq-03 属性、位置\"},{\"text\":\"jq-04 事件和动画\",\"link\":\"/src/前端/jQuery/jq-04 事件和动画\"},{\"text\":\"jq-05 ajax 自定义jquery插件\",\"link\":\"/src/前端/jQuery/jq-05 ajax 自定义jquery插件\"}]},\"/src/前端/mini-programe\":{\"text\":\"mini-programe\",\"items\":[{\"text\":\"小程序-01 小程序入门\",\"link\":\"/src/前端/mini-programe/小程序-01 小程序入门\"},{\"text\":\"小程序-02 模板、组件\",\"link\":\"/src/前端/mini-programe/小程序-02 模板、组件\"},{\"text\":\"小程序-03  媒体组件\",\"link\":\"/src/前端/mini-programe/小程序-03  媒体组件\"},{\"text\":\"小程序-04  API\",\"link\":\"/src/前端/mini-programe/小程序-04  API\"},{\"text\":\"小程序-05 路由封装\",\"link\":\"/src/前端/mini-programe/小程序-05 路由封装\"},{\"text\":\"小程序-07 mpvue\",\"link\":\"/src/前端/mini-programe/小程序-07 mpvue\"}]},\"/src/前端/node\":{\"text\":\"node\",\"items\":[{\"text\":\"HTTP状态码\",\"link\":\"/src/前端/node/HTTP状态码\"},{\"text\":\"index的副本.assets\",\"collapsed\":false,\"items\":[],\"collapsible\":true},{\"text\":\"node-01 http nodejs\",\"link\":\"/src/前端/node/node-01 http nodejs\"},{\"text\":\"node-02 路由、path、模块\",\"link\":\"/src/前端/node/node-02 路由、path、模块\"},{\"text\":\"node-03 fs文件\",\"link\":\"/src/前端/node/node-03 fs文件\"},{\"text\":\"node-04 express 跨域\",\"link\":\"/src/前端/node/node-04 express 跨域\"},{\"text\":\"node-05 RESTful、爬虫\",\"link\":\"/src/前端/node/node-05 RESTful、爬虫\"},{\"text\":\"node-06 加密 cookie ejs\",\"link\":\"/src/前端/node/node-06 加密 cookie ejs\"},{\"text\":\"node-07 模板化\",\"link\":\"/src/前端/node/node-07 模板化\"},{\"text\":\"node-08 mongodb\",\"link\":\"/src/前端/node/node-08 mongodb\"},{\"text\":\"node-09 mongoose\",\"link\":\"/src/前端/node/node-09 mongoose\"},{\"text\":\"node-10 websocket\",\"link\":\"/src/前端/node/node-10 websocket\"},{\"text\":\"node使用babel\",\"link\":\"/src/前端/node/node使用babel\"},{\"text\":\"node常用指令\",\"link\":\"/src/前端/node/node常用指令\"},{\"text\":\"node插件分享\",\"link\":\"/src/前端/node/node插件分享\"},{\"text\":\"node项目实例\",\"link\":\"/src/前端/node/node项目实例\"},{\"text\":\"node项目小技巧\",\"link\":\"/src/前端/node/node项目小技巧\"}]},\"/src/前端/other-note\":{\"text\":\"other-note\",\"items\":[{\"text\":\"AST抽象语法树\",\"link\":\"/src/前端/other-note/AST抽象语法树\"},{\"text\":\"Immutable\",\"link\":\"/src/前端/other-note/Immutable\"},{\"text\":\"Mac使用技巧\",\"link\":\"/src/前端/other-note/Mac使用技巧\"},{\"text\":\"Markdown语法\",\"link\":\"/src/前端/other-note/Markdown语法\"},{\"text\":\"Typora设置\",\"link\":\"/src/前端/other-note/Typora设置\"},{\"text\":\"VS code 使用技巧\",\"link\":\"/src/前端/other-note/VS code 使用技巧\"},{\"text\":\"VuePress搭建个人博客\",\"link\":\"/src/前端/other-note/VuePress搭建个人博客\"},{\"text\":\"animate.css使用方法\",\"link\":\"/src/前端/other-note/animate.css使用方法\"},{\"text\":\"bootstrap 全局css样式\",\"link\":\"/src/前端/other-note/bootstrap 全局css样式\"},{\"text\":\"canvas\",\"link\":\"/src/前端/other-note/canvas\"},{\"text\":\"git\",\"link\":\"/src/前端/other-note/git\"},{\"text\":\"hexo搭建个人博客\",\"link\":\"/src/前端/other-note/hexo搭建个人博客\"},{\"text\":\"mobx\",\"link\":\"/src/前端/other-note/mobx\"},{\"text\":\"七牛云cdn加速图片\",\"link\":\"/src/前端/other-note/七牛云cdn加速图片\"},{\"text\":\"包管理工具\",\"link\":\"/src/前端/other-note/包管理工具\"},{\"text\":\"团队协作工具\",\"link\":\"/src/前端/other-note/团队协作工具\"},{\"text\":\"微信分享\",\"link\":\"/src/前端/other-note/微信分享\"},{\"text\":\"未学知识\",\"link\":\"/src/前端/other-note/未学知识\"},{\"text\":\"浏览器技巧\",\"link\":\"/src/前端/other-note/浏览器技巧\"},{\"text\":\"百度地图API\",\"link\":\"/src/前端/other-note/百度地图API\"},{\"text\":\"配置支付宝接口\",\"link\":\"/src/前端/other-note/配置支付宝接口\"},{\"text\":\"面试复习\",\"link\":\"/src/前端/other-note/面试复习\"}]},\"/src/前端/react-native\":{\"text\":\"react-native\",\"items\":[{\"text\":\"rn-01 react-native\",\"link\":\"/src/前端/react-native/rn-01 react-native\"}]},\"/src/前端/\":[{\"text\":\"Electron\",\"collapsed\":false,\"items\":[{\"text\":\"Electron-01 electron概念、搭建⼀个⼯程\",\"link\":\"/src/前端/Electron/Electron-01 electron概念、搭建⼀个⼯程\"},{\"text\":\"Electron-02 进程通讯\",\"link\":\"/src/前端/Electron/Electron-02 进程通讯\"}],\"collapsible\":true},{\"text\":\"Javascript\",\"collapsed\":false,\"items\":[{\"text\":\"js-01 javascript 初始\",\"link\":\"/src/前端/Javascript/js-01 javascript 初始\"},{\"text\":\"js-02 javascript数据类型篇\",\"link\":\"/src/前端/Javascript/js-02 javascript数据类型篇\"},{\"text\":\"js-03 条件、循环、语句\",\"link\":\"/src/前端/Javascript/js-03 条件、循环、语句\"},{\"text\":\"js-04 自定义属性\",\"link\":\"/src/前端/Javascript/js-04 自定义属性\"},{\"text\":\"js-05 函数\",\"link\":\"/src/前端/Javascript/js-05 函数\"},{\"text\":\"js-06 定时器、时间、Math\",\"link\":\"/src/前端/Javascript/js-06 定时器、时间、Math\"},{\"text\":\"js-07 字符串、对象\",\"link\":\"/src/前端/Javascript/js-07 字符串、对象\"},{\"text\":\"js-08 数组\",\"link\":\"/src/前端/Javascript/js-08 数组\"},{\"text\":\"js-09 DOM\",\"link\":\"/src/前端/Javascript/js-09 DOM\"},{\"text\":\"js-10 BOM\",\"link\":\"/src/前端/Javascript/js-10 BOM\"},{\"text\":\"js-11 事件对象\",\"link\":\"/src/前端/Javascript/js-11 事件对象\"},{\"text\":\"js-12 拖拽、缓冲、懒加载\",\"link\":\"/src/前端/Javascript/js-12 拖拽、缓冲、懒加载\"},{\"text\":\"js-13 cookie\",\"link\":\"/src/前端/Javascript/js-13 cookie\"},{\"text\":\"js-14 正则篇\",\"link\":\"/src/前端/Javascript/js-14 正则篇\"},{\"text\":\"js-15 面向对象、继承\",\"link\":\"/src/前端/Javascript/js-15 面向对象、继承\"},{\"text\":\"js-16 闭包、高阶函数、ajax\",\"link\":\"/src/前端/Javascript/js-16 闭包、高阶函数、ajax\"},{\"text\":\"js-17 拖拽API、文件上传、下载\",\"link\":\"/src/前端/Javascript/js-17 拖拽API、文件上传、下载\"},{\"text\":\"js-18 其他API\",\"link\":\"/src/前端/Javascript/js-18 其他API\"},{\"text\":\"js-19 ajax、接口请求 跨域\",\"link\":\"/src/前端/Javascript/js-19 ajax、接口请求 跨域\"},{\"text\":\"js小方法\",\"link\":\"/src/前端/Javascript/js小方法\"},{\"text\":\"js插件推荐\",\"link\":\"/src/前端/Javascript/js插件推荐\"},{\"text\":\"js数据结构\",\"link\":\"/src/前端/Javascript/js数据结构\"},{\"text\":\"js源码实现\",\"link\":\"/src/前端/Javascript/js源码实现\"},{\"text\":\"js理论面试题\",\"link\":\"/src/前端/Javascript/js理论面试题\"},{\"text\":\"js算法\",\"link\":\"/src/前端/Javascript/js算法\"},{\"text\":\"js类型整合（助记）\",\"link\":\"/src/前端/Javascript/js类型整合（助记）\"},{\"text\":\"js设计模式\",\"link\":\"/src/前端/Javascript/js设计模式\"},{\"text\":\"js面试问题\",\"link\":\"/src/前端/Javascript/js面试问题\"},{\"text\":\"lodash常用方法\",\"link\":\"/src/前端/Javascript/lodash常用方法\"}],\"collapsible\":true},{\"text\":\"Nextjs\",\"collapsed\":false,\"items\":[{\"text\":\"Next-01 服务端组件、客户端组件、不同类型组件交叉使用的注意点、缓存\",\"link\":\"/src/前端/Nextjs/Next-01 服务端组件、客户端组件、不同类型组件交叉使用的注意点、缓存\"},{\"text\":\"Next-02 路由处理程序、ServerAction\",\"link\":\"/src/前端/Nextjs/Next-02 路由处理程序、ServerAction\"}],\"collapsible\":true},{\"text\":\"React\",\"collapsed\":false,\"items\":[{\"text\":\"Reach__router\",\"link\":\"/src/前端/React/Reach__router\"},{\"text\":\"React写测试\",\"link\":\"/src/前端/React/React写测试\"},{\"text\":\"React搭建项目\",\"link\":\"/src/前端/React/React搭建项目\"},{\"text\":\"React面试\",\"link\":\"/src/前端/React/React面试\"},{\"text\":\"hooks实现原理\",\"link\":\"/src/前端/React/hooks实现原理\"},{\"text\":\"react-01 初识\",\"link\":\"/src/前端/React/react-01 初识\"},{\"text\":\"react-02 脚手架、JSX\",\"link\":\"/src/前端/React/react-02 脚手架、JSX\"},{\"text\":\"react-03 组件通讯、生命周期\",\"link\":\"/src/前端/React/react-03 组件通讯、生命周期\"},{\"text\":\"react-04 路由\",\"link\":\"/src/前端/React/react-04 路由\"},{\"text\":\"react-05 其他Api\",\"link\":\"/src/前端/React/react-05 其他Api\"},{\"text\":\"react-06 Redux\",\"link\":\"/src/前端/React/react-06 Redux\"},{\"text\":\"react-07 hooks\",\"link\":\"/src/前端/React/react-07 hooks\"},{\"text\":\"react-08 高阶组件\",\"link\":\"/src/前端/React/react-08 高阶组件\"},{\"text\":\"react-09 项目优化、项目坑\",\"link\":\"/src/前端/React/react-09 项目优化、项目坑\"},{\"text\":\"react-10 服务端渲染\",\"link\":\"/src/前端/React/react-10 服务端渲染\"},{\"text\":\"react常用插件\",\"link\":\"/src/前端/React/react常用插件\"},{\"text\":\"常用自定义hooks\",\"link\":\"/src/前端/React/常用自定义hooks\"}],\"collapsible\":true},{\"text\":\"Server\",\"collapsed\":false,\"items\":[{\"text\":\"linux-01 系统知识\",\"link\":\"/src/前端/Server/linux-01 系统知识\"},{\"text\":\"linux-02 基本操作\",\"link\":\"/src/前端/Server/linux-02 基本操作\"},{\"text\":\"linux-03 文件操作\",\"link\":\"/src/前端/Server/linux-03 文件操作\"},{\"text\":\"linux-04 vim编辑器\",\"link\":\"/src/前端/Server/linux-04 vim编辑器\"},{\"text\":\"linux-05 基本管理\",\"link\":\"/src/前端/Server/linux-05 基本管理\"},{\"text\":\"linux-06 shell基础\",\"link\":\"/src/前端/Server/linux-06 shell基础\"},{\"text\":\"linux-07 shell语句\",\"link\":\"/src/前端/Server/linux-07 shell语句\"},{\"text\":\"linux常用\",\"link\":\"/src/前端/Server/linux常用\"},{\"text\":\"nginx配置\",\"link\":\"/src/前端/Server/nginx配置\"},{\"text\":\"ubuntu教程\",\"link\":\"/src/前端/Server/ubuntu教程\"},{\"text\":\"宝塔面板搭建服务器\",\"link\":\"/src/前端/Server/宝塔面板搭建服务器\"}],\"collapsible\":true},{\"text\":\"Typescript\",\"collapsed\":false,\"items\":[{\"text\":\"ts-01 基础类型\",\"link\":\"/src/前端/Typescript/ts-01 基础类型\"},{\"text\":\"ts-02 接口、函数\",\"link\":\"/src/前端/Typescript/ts-02 接口、函数\"},{\"text\":\"ts-03 泛型、类\",\"link\":\"/src/前端/Typescript/ts-03 泛型、类\"},{\"text\":\"ts-04 枚举、类型推论\",\"link\":\"/src/前端/Typescript/ts-04 枚举、类型推论\"},{\"text\":\"ts-05 高级类型\",\"link\":\"/src/前端/Typescript/ts-05 高级类型\"},{\"text\":\"ts-06 命名空间、声明合并\",\"link\":\"/src/前端/Typescript/ts-06 命名空间、声明合并\"},{\"text\":\"ts-07 装饰器、Mixins\",\"link\":\"/src/前端/Typescript/ts-07 装饰器、Mixins\"},{\"text\":\"ts-08 声明文件、模块解析\",\"link\":\"/src/前端/Typescript/ts-08 声明文件、模块解析\"},{\"text\":\"ts-09 其他\",\"link\":\"/src/前端/Typescript/ts-09 其他\"},{\"text\":\"ts-类型收集\",\"link\":\"/src/前端/Typescript/ts-类型收集\"},{\"text\":\"tsconfig\",\"link\":\"/src/前端/Typescript/tsconfig\"},{\"text\":\"ts实战例子\",\"link\":\"/src/前端/Typescript/ts实战例子\"},{\"text\":\"ts开发环境搭建\",\"link\":\"/src/前端/Typescript/ts开发环境搭建\"},{\"text\":\"typescript_react\",\"link\":\"/src/前端/Typescript/typescript_react\"},{\"text\":\"typescript_vue\",\"link\":\"/src/前端/Typescript/typescript_vue\"},{\"text\":\"总结Typescript\",\"link\":\"/src/前端/Typescript/总结Typescript\"}],\"collapsible\":true},{\"text\":\"Vue\",\"collapsed\":false,\"items\":[{\"text\":\"Vue3-API\",\"link\":\"/src/前端/Vue/Vue3-API\"},{\"text\":\"Vue3-Vue2不同点\",\"link\":\"/src/前端/Vue/Vue3-Vue2不同点\"},{\"text\":\"Vue3造轮子常用\",\"link\":\"/src/前端/Vue/Vue3造轮子常用\"},{\"text\":\"vue-01 初识vue\",\"link\":\"/src/前端/Vue/vue-01 初识vue\"},{\"text\":\"vue-02 修饰符 表单\",\"link\":\"/src/前端/Vue/vue-02 修饰符 表单\"},{\"text\":\"vue-03 组件 Prop\",\"link\":\"/src/前端/Vue/vue-03 组件 Prop\"},{\"text\":\"vue-04 组件通讯 插槽\",\"link\":\"/src/前端/Vue/vue-04 组件通讯 插槽\"},{\"text\":\"vue-05 过渡 生命周期\",\"link\":\"/src/前端/Vue/vue-05 过渡 生命周期\"},{\"text\":\"vue-06 Router\",\"link\":\"/src/前端/Vue/vue-06 Router\"},{\"text\":\"vue-07 Vuex\",\"link\":\"/src/前端/Vue/vue-07 Vuex\"},{\"text\":\"vue-08 插件开发\",\"link\":\"/src/前端/Vue/vue-08 插件开发\"},{\"text\":\"vue实战技巧\",\"link\":\"/src/前端/Vue/vue实战技巧\"},{\"text\":\"vue造轮子常用方法\",\"link\":\"/src/前端/Vue/vue造轮子常用方法\"},{\"text\":\"vue面试题\",\"link\":\"/src/前端/Vue/vue面试题\"},{\"text\":\"vue项目bug记录\",\"link\":\"/src/前端/Vue/vue项目bug记录\"}],\"collapsible\":true},{\"text\":\"Webpack\",\"collapsed\":false,\"items\":[{\"text\":\"webpack-01 服务、配置项\",\"link\":\"/src/前端/Webpack/webpack-01 服务、配置项\"},{\"text\":\"webpack-02 处理js、暴露全局变量\",\"link\":\"/src/前端/Webpack/webpack-02 处理js、暴露全局变量\"},{\"text\":\"webpack-03 多页面、source-map、实时打包\",\"link\":\"/src/前端/Webpack/webpack-03 多页面、source-map、实时打包\"},{\"text\":\"webpack-04  优化、动态链接库、多线程打包\",\"link\":\"/src/前端/Webpack/webpack-04  优化、动态链接库、多线程打包\"},{\"text\":\"webpack-05 抽离公共模块、懒加载\",\"link\":\"/src/前端/Webpack/webpack-05 抽离公共模块、懒加载\"},{\"text\":\"webpack原理\",\"link\":\"/src/前端/Webpack/webpack原理\"},{\"text\":\"webpack插件\",\"link\":\"/src/前端/Webpack/webpack插件\"}],\"collapsible\":true},{\"text\":\"es6\",\"collapsed\":false,\"items\":[{\"text\":\"es6-01 let、解构、模板、箭头\",\"link\":\"/src/前端/es6/es6-01 let、解构、模板、箭头\"},{\"text\":\"es6-02 扩展、Symbol、iterator\",\"link\":\"/src/前端/es6/es6-02 扩展、Symbol、iterator\"},{\"text\":\"es6-03 类、set、map\",\"link\":\"/src/前端/es6/es6-03 类、set、map\"},{\"text\":\"es6-04 Promise、async\",\"link\":\"/src/前端/es6/es6-04 Promise、async\"},{\"text\":\"es6-05 扩展\",\"link\":\"/src/前端/es6/es6-05 扩展\"},{\"text\":\"es6-06 module\",\"link\":\"/src/前端/es6/es6-06 module\"},{\"text\":\"es6-07 proxy、Reflect\",\"link\":\"/src/前端/es6/es6-07 proxy、Reflect\"},{\"text\":\"es6-08 新提案\",\"link\":\"/src/前端/es6/es6-08 新提案\"},{\"text\":\"es6原理实现\",\"link\":\"/src/前端/es6/es6原理实现\"}],\"collapsible\":true},{\"text\":\"html5\",\"collapsed\":false,\"items\":[{\"text\":\"CSS 预编译器\",\"link\":\"/src/前端/html5/CSS 预编译器\"},{\"text\":\"CSS常用布局\",\"link\":\"/src/前端/html5/CSS常用布局\"},{\"text\":\"css小方法\",\"link\":\"/src/前端/html5/css小方法\"},{\"text\":\"css常见bug\",\"link\":\"/src/前端/html5/css常见bug\"},{\"text\":\"html-01 基础知识\",\"link\":\"/src/前端/html5/html-01 基础知识\"},{\"text\":\"html-02 a标签，表格，表单\",\"link\":\"/src/前端/html5/html-02 a标签，表格，表单\"},{\"text\":\"html-03 CSS样式字体\",\"link\":\"/src/前端/html5/html-03 CSS样式字体\"},{\"text\":\"html-04 盒子模型 背景\",\"link\":\"/src/前端/html5/html-04 盒子模型 背景\"},{\"text\":\"html-05 元素转换、浮动\",\"link\":\"/src/前端/html5/html-05 元素转换、浮动\"},{\"text\":\"html-06 定位 BFC\",\"link\":\"/src/前端/html5/html-06 定位 BFC\"},{\"text\":\"html-07 布局方式 IE\",\"link\":\"/src/前端/html5/html-07 布局方式 IE\"},{\"text\":\"html-08 雪碧图\",\"link\":\"/src/前端/html5/html-08 雪碧图\"},{\"text\":\"html-11 Svg简介\",\"link\":\"/src/前端/html5/html-11 Svg简介\"},{\"text\":\"html-12 HTML5\",\"link\":\"/src/前端/html5/html-12 HTML5\"},{\"text\":\"html-13 CSS3选择器\",\"link\":\"/src/前端/html5/html-13 CSS3选择器\"},{\"text\":\"html-14 flex、grid、table\",\"link\":\"/src/前端/html5/html-14 flex、grid、table\"},{\"text\":\"html-15 LESS css预处理器\",\"link\":\"/src/前端/html5/html-15 LESS css预处理器\"},{\"text\":\"html-17 移动端布局\",\"link\":\"/src/前端/html5/html-17 移动端布局\"},{\"text\":\"html-18 2D、3D动画\",\"link\":\"/src/前端/html5/html-18 2D、3D动画\"},{\"text\":\"html-19 filter\",\"link\":\"/src/前端/html5/html-19 filter\"},{\"text\":\"html面试问题\",\"link\":\"/src/前端/html5/html面试问题\"},{\"text\":\"reset.css\",\"link\":\"/src/前端/html5/reset.css\"},{\"text\":\"容易忘记的知识\",\"link\":\"/src/前端/html5/容易忘记的知识\"},{\"text\":\"提高css开发效率\",\"link\":\"/src/前端/html5/提高css开发效率\"}],\"collapsible\":true},{\"text\":\"jQuery\",\"collapsed\":false,\"items\":[{\"text\":\"jq-01 什么是jQuery\",\"link\":\"/src/前端/jQuery/jq-01 什么是jQuery\"},{\"text\":\"jq-02 选择器\",\"link\":\"/src/前端/jQuery/jq-02 选择器\"},{\"text\":\"jq-03 属性、位置\",\"link\":\"/src/前端/jQuery/jq-03 属性、位置\"},{\"text\":\"jq-04 事件和动画\",\"link\":\"/src/前端/jQuery/jq-04 事件和动画\"},{\"text\":\"jq-05 ajax 自定义jquery插件\",\"link\":\"/src/前端/jQuery/jq-05 ajax 自定义jquery插件\"}],\"collapsible\":true},{\"text\":\"mini-programe\",\"collapsed\":false,\"items\":[{\"text\":\"小程序-01 小程序入门\",\"link\":\"/src/前端/mini-programe/小程序-01 小程序入门\"},{\"text\":\"小程序-02 模板、组件\",\"link\":\"/src/前端/mini-programe/小程序-02 模板、组件\"},{\"text\":\"小程序-03  媒体组件\",\"link\":\"/src/前端/mini-programe/小程序-03  媒体组件\"},{\"text\":\"小程序-04  API\",\"link\":\"/src/前端/mini-programe/小程序-04  API\"},{\"text\":\"小程序-05 路由封装\",\"link\":\"/src/前端/mini-programe/小程序-05 路由封装\"},{\"text\":\"小程序-07 mpvue\",\"link\":\"/src/前端/mini-programe/小程序-07 mpvue\"}],\"collapsible\":true},{\"text\":\"node\",\"collapsed\":false,\"items\":[{\"text\":\"HTTP状态码\",\"link\":\"/src/前端/node/HTTP状态码\"},{\"text\":\"index的副本.assets\",\"collapsed\":false,\"items\":[],\"collapsible\":true},{\"text\":\"node-01 http nodejs\",\"link\":\"/src/前端/node/node-01 http nodejs\"},{\"text\":\"node-02 路由、path、模块\",\"link\":\"/src/前端/node/node-02 路由、path、模块\"},{\"text\":\"node-03 fs文件\",\"link\":\"/src/前端/node/node-03 fs文件\"},{\"text\":\"node-04 express 跨域\",\"link\":\"/src/前端/node/node-04 express 跨域\"},{\"text\":\"node-05 RESTful、爬虫\",\"link\":\"/src/前端/node/node-05 RESTful、爬虫\"},{\"text\":\"node-06 加密 cookie ejs\",\"link\":\"/src/前端/node/node-06 加密 cookie ejs\"},{\"text\":\"node-07 模板化\",\"link\":\"/src/前端/node/node-07 模板化\"},{\"text\":\"node-08 mongodb\",\"link\":\"/src/前端/node/node-08 mongodb\"},{\"text\":\"node-09 mongoose\",\"link\":\"/src/前端/node/node-09 mongoose\"},{\"text\":\"node-10 websocket\",\"link\":\"/src/前端/node/node-10 websocket\"},{\"text\":\"node使用babel\",\"link\":\"/src/前端/node/node使用babel\"},{\"text\":\"node常用指令\",\"link\":\"/src/前端/node/node常用指令\"},{\"text\":\"node插件分享\",\"link\":\"/src/前端/node/node插件分享\"},{\"text\":\"node项目实例\",\"link\":\"/src/前端/node/node项目实例\"},{\"text\":\"node项目小技巧\",\"link\":\"/src/前端/node/node项目小技巧\"}],\"collapsible\":true},{\"text\":\"other-note\",\"collapsed\":false,\"items\":[{\"text\":\"AST抽象语法树\",\"link\":\"/src/前端/other-note/AST抽象语法树\"},{\"text\":\"Immutable\",\"link\":\"/src/前端/other-note/Immutable\"},{\"text\":\"Mac使用技巧\",\"link\":\"/src/前端/other-note/Mac使用技巧\"},{\"text\":\"Markdown语法\",\"link\":\"/src/前端/other-note/Markdown语法\"},{\"text\":\"Typora设置\",\"link\":\"/src/前端/other-note/Typora设置\"},{\"text\":\"VS code 使用技巧\",\"link\":\"/src/前端/other-note/VS code 使用技巧\"},{\"text\":\"VuePress搭建个人博客\",\"link\":\"/src/前端/other-note/VuePress搭建个人博客\"},{\"text\":\"animate.css使用方法\",\"link\":\"/src/前端/other-note/animate.css使用方法\"},{\"text\":\"bootstrap 全局css样式\",\"link\":\"/src/前端/other-note/bootstrap 全局css样式\"},{\"text\":\"canvas\",\"link\":\"/src/前端/other-note/canvas\"},{\"text\":\"git\",\"link\":\"/src/前端/other-note/git\"},{\"text\":\"hexo搭建个人博客\",\"link\":\"/src/前端/other-note/hexo搭建个人博客\"},{\"text\":\"mobx\",\"link\":\"/src/前端/other-note/mobx\"},{\"text\":\"七牛云cdn加速图片\",\"link\":\"/src/前端/other-note/七牛云cdn加速图片\"},{\"text\":\"包管理工具\",\"link\":\"/src/前端/other-note/包管理工具\"},{\"text\":\"团队协作工具\",\"link\":\"/src/前端/other-note/团队协作工具\"},{\"text\":\"微信分享\",\"link\":\"/src/前端/other-note/微信分享\"},{\"text\":\"未学知识\",\"link\":\"/src/前端/other-note/未学知识\"},{\"text\":\"浏览器技巧\",\"link\":\"/src/前端/other-note/浏览器技巧\"},{\"text\":\"百度地图API\",\"link\":\"/src/前端/other-note/百度地图API\"},{\"text\":\"配置支付宝接口\",\"link\":\"/src/前端/other-note/配置支付宝接口\"},{\"text\":\"面试复习\",\"link\":\"/src/前端/other-note/面试复习\"}],\"collapsible\":true},{\"text\":\"react-native\",\"collapsed\":false,\"items\":[{\"text\":\"rn-01 react-native\",\"link\":\"/src/前端/react-native/rn-01 react-native\"}],\"collapsible\":true}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://gitee.com/lwj-wing\"}],\"algolia\":{\"appId\":\"HB9RH9MVTU\",\"apiKey\":\"a1ecd3b81f0afbd82c111a8548a67c06\",\"indexName\":\"Github\"},\"editLink\":{\"pattern\":\"https://gitee.com/lwj-wing/vite-note/edit/master/:path\",\"text\":\"在Gitee上编辑此页 \"},\"lastUpdated\":{\"text\":\"最后编辑时间\",\"formatOptions\":{\"dateStyle\":\"full\",\"timeStyle\":\"medium\"}},\"docFooter\":{\"prev\":\"上一篇\",\"next\":\"下一篇\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
    
  </body>
</html>